我看到如下代码:
谁能帮我分析一下这段代码?? 多谢!!typedef int (CALLBACK *SHUTDOWNDLG) (int); 
     CString s; 
     
     HINSTANCE hInst = LoadLibrary("shell32"); 
     SHUTDOWNDLG SHShutDownDialog; 
     if(hInst != 0) 
     { 
     SHShutDownDialog = (SHUTDOWNDLG)GetProcAddress(hInst, (LPSTR)0x3c); 
     (*SHShutDownDialog)(0); 
     FreeLibrary(hInst);

解决方案 »

  1.   

    声明了一个函数SHUTDOWNDLG~(int)里是参数~ int (CALLBACK *返回值~
      

  2.   

    typedef int (CALLBACK *SHUTDOWNDLG) (int); //定义一个函数指针的类型SHUTDOWNDLG,参数是int型的,返回值是int型
         CString s; 
         
         HINSTANCE hInst = LoadLibrary("shell32"); //动态调用shell32.dll
         SHUTDOWNDLG SHShutDownDialog; 定义一个函数指针
         if(hInst != 0) 
         { 
         SHShutDownDialog = (SHUTDOWNDLG)GetProcAddress(hInst, (LPSTR)0x3c); //得到shell32.dll中序号0x3c的函数。
         (*SHShutDownDialog)(0); //通过函数指针调用函数。
         FreeLibrary(hInst);//释放dll其实这个是一个关机对话框,大概。