当前位置:首页
开发技术指南» 文章正文
    引言:
 

 

 ·asp里如何装载post数据    »显示摘要«
    摘要: 我想在asp页面里解析post上来的xml数据,如何得到呢?我只会用<form>提交如果post应该怎么办呢? ......
 ·    »显示摘要«
    摘要: compiling... 5.cpp e:\c++\1\5.cpp(47) : error c2166: l-value specifies const object e:\c++\1\5.cpp(50) : error c2166: l-value specifies const object error executing cl.exe. 5.obj - 2 error(s), 0 w......


高分求助:一次性打印指定文件夹下的所有可打印文件(文件格式不定)

在很多文件图标上点右键弹出菜单上有打印一项,这个是怎么来的,如何编程来识别某一文件是否有这一项,并且如果有这一项,后台打印该文件。最终目的是要一次性打印指定文件夹下的所有可打印文件。并且打印机是可以用参数指定的。

NO.1   作者: JennyVenus

一般是根据扩展名来区分的,如果更严格一点需要判断文件格式。

NO.2   作者: zhjian6

只要指一下路径,就可以打印任何文件了!  
   
  Public   Const   SW_SHOWMINNOACTIVE   =   7  
    Declare   Function   ShellExecuteAny   Lib   "shell32.dll"   Alias   "ShellExecuteA"   (ByVal   hWnd   As   Long,   ByVal   lpOperation   As   String,   ByVal   lpFile   As   String,   ByVal   lpParameters   As   Any,   ByVal   lpDirectory   As   Any,   ByVal   nShowCmd   As   Long)   As   Long  
   
  Private   Sub   Form_Load()  
  Ret   =   ShellExecuteAny(me.hWnd   ,   "print",   path,   ByVal   0&,   ByVal   0&,   SW_SHOWMINNOACTIVE)  
  End   Sub  
 

NO.3   作者: ecstar

你可以把文件类型和对应打印机的信息写进ini文件,可以更新  
   
  比如  
  [Printer]  
  notepad=txt,cpp,log  
   
   
  或者  
   
  txt=notepad  
  cpp=notepad  
  log=notepad  
   
  另外设置一个默认的  
   
   
  这个变量可以直接用在批处理文件中  
  %SystemRoot%  
 

NO.4   作者: sxs69

编程来识别某一文件是否有打印这一项,可以找出它的扩展名,通过下面的程序来实现,它有Print和Printto两项  
   
  Option   Explicit  
  Private   Declare   Function   RegQueryValueEx   Lib   "advapi32.dll"   Alias   "RegQueryValueExA"   (ByVal   hKey   As   Long,   ByVal   lpValueName   As   String,   ByVal   lpReserved   As   Long,   lpType   As   Long,   lpData   As   Any,   lpcbData   As   Long)   As   Long                     Note   that   if   you   declare   the   lpData   parameter   as   String,   you   must   pass   it   By   Value.  
  Private   Declare   Function   RegOpenKey   Lib   "advapi32.dll"   Alias   "RegOpenKeyA"   (ByVal   hKey   As   Long,   ByVal   lpSubKey   As   String,   phkResult   As   Long)   As   Long  
   
  Private   Const   HKEY_CLASSES_ROOT   =   &H80000000  
  Private   Declare   Function   RegQueryInfoKey   Lib   "advapi32.dll"   Alias   "RegQueryInfoKeyA"   (ByVal   hKey   As   Long,   ByVal   lpClass   As   String,   lpcbClass   As   Long,   ByVal   lpReserved   As   Long,   lpcSubKeys   As   Long,   lpcbMaxSubKeyLen   As   Long,   lpcbMaxClassLen   As   Long,   lpcValues   As   Long,   lpcbMaxValueNameLen   As   Long,   lpcbMaxValueLen   As   Long,   lpcbSecurityDescriptor   As   Long,   lpftLastWriteTime   As   FILETIME)   As   Long  
  Private   Declare   Function   RegEnumKey   Lib   "advapi32.dll"   Alias   "RegEnumKeyA"   (ByVal   hKey   As   Long,   ByVal   dwIndex   As   Long,   ByVal   lpName   As   String,   ByVal   cbName   As   Long)   As   Long  
  Private   Declare   Function   RegCloseKey   Lib   "advapi32.dll"   (ByVal   hKey   As   Long)   As   Long  
  Private   Type   FILETIME  
                  dwLowDateTime   As   Long  
                  dwHighDateTime   As   Long  
  End   Type  
   
   
  Private   Sub   SetExtOperation(ByVal   ext   As   String)   ext传入扩展名如".txt"  
          Dim   hKey   As   Long,   typeData   As   Long,   lenData   As   Long  
          Dim   S   As   String,   ret   As   Long,   Name   As   String,   Idx   As   Long  
          Dim   nSubKey   As   Long,   maxSubKeyLen   As   Long,   maxClassLen   As   Long  
          Dim   nValue   As   Long,   maxValueNameLen   As   Long,   maxValueLen   As   Long  
          Dim   sd   As   Long,   WriteTime   As   FILETIME  
          List1.Clear  
          ret   =   RegOpenKey(HKEY_CLASSES_ROOT,   ext,   hKey)  
          If   ret   <>   0   Then   Exit   Sub  
          ret   =   RegQueryValueEx(hKey,   "",   0,   typeData,   ByVal   vbNullString,   lenData)  
          If   ret   =   0   Then  
                  S   =   String(lenData,   Chr(0))  
                  RegQueryValueEx   hKey,   "",   ByVal   0,   typeData,   ByVal   S,   lenData  
                  S   =   Left(S,   InStr(S,   Chr(0))   -   1)  
                  ret   =   RegOpenKey(HKEY_CLASSES_ROOT,   S   &   "\shell",   hKey)  
                  If   ret   <>   0   Then   Exit   Sub  
                  ret   =   RegQueryInfoKey(hKey,   vbNullString,   0,   ByVal   0,   nSubKey,   maxSubKeyLen,   maxClassLen,   nValue,   maxValueNameLen,   maxValueLen,   sd,   WriteTime)  
                  Name   =   String(maxSubKeyLen   +   1,   Chr(0))  
                  For   Idx   =   0   To   nSubKey   -   1  
                          ret   =   RegEnumKey(hKey,   Idx,   Name,   Len(Name))  
                          If   ret   =   0   Then  
                                  List1.AddItem   Left(Name,   InStr(Name,   Chr(0))   -   1)  
                          End   If  
                  Next  
          End   If  
          RegCloseKey   hKey  
  End   Sub  
   
  Private   Sub   Command2_Click()  
          SetExtOperation   ".PDF"  
  End   Sub


 ·欢迎ea归来    »显示摘要«
    摘要: rt ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE