句柄定义的地方和ShellExecute()函数的使用
句柄定义的地方:
<wtypes.h>头文件中
typedef void __RPC_FAR *HANDLE;
typedef void __RPC_FAR *HMODULE;
typedef void __RPC_FAR *HINSTANCE;
typedef void __RPC_FAR *HRGN;
typedef void __RPC_FAR *HTASK;
typedef void __RPC_FAR *HKEY;
typedef void __RPC_FAR *HDESK;
typedef void __RPC_FAR *HMF;
typedef void __RPC_FAR *HEMF;
typedef void __RPC_FAR *HPEN;
typedef void __RPC_FAR *HRSRC;
typedef void __RPC_FAR *HSTR;
typedef void __RPC_FAR *HWINSTA;
typedef void __RPC_FAR *HKL;
typedef void __RPC_FAR *HGDIOBJ;
=================================
DEMO CODE:
//hello1.cpp
#define STRICT
#include <windows.h>
#include <tchar.h>
#include <assert.h>
//封装2个[in]参数,后面用起来比较方便
const TCHAR szOperation[] = _T("open");
const TCHAR szAddress[]   = _T("http://shanzy.cnblogs.com/");
//32位下面,第2个句柄始终为0,所以不传,但是参数原型还是要严格遵守的
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE, LPSTR lpCmd, int nShow)
       
{
 HINSTANCE hRslt = ShellExecute(NULL, szOperation,szAddress, 
  NULL, NULL, SW_SHOWNORMAL);
 
 assert( hRslt > (HINSTANCE) HINSTANCE_ERROR);
 
 return 0;
}
对返回类型(值)进行assert()是非常重要的,能够及时发现错误
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号