称多县公司网站建设菏泽软件定制开发
称多县公司网站建设,菏泽软件定制开发,wordpress新增文章小工具,灯饰模板网站我们可从CpuCool.c程序中看到VxD的装入内存、安装功能和设置VxD功能号3的全过程。在代码中都有详细的注释。其实#xff0c;VxD的装入方法与一个通常的文件一样#xff0c;也是通过Win API的函数CreateFile来完成#xff0c;大家一定不要被Create这个词误解了#xff0c;其…我们可从CpuCool.c程序中看到VxD的装入内存、安装功能和设置VxD功能号3的全过程。在代码中都有详细的注释。其实VxD的装入方法与一个通常的文件一样也是通过Win API的函数CreateFile来完成大家一定不要被Create这个词误解了其实CreateFile可以用来打开和创建新文件。int APIENTRY WinMain( HANDLE hInstance,HANDLE hPrevInstance,LPSTR lpszCmdLine,int nCmdShow){static char szAppName[]CoolCPU;char Buffer[64];HMENU hPopupMenu;WNDCLASS wndclass;HWND hwnd;MSG msg;int Ret;hResInstancehInstance;//是否是中文LoadString(hResInstance,IDS_CODEPAGE,Text,sizeof(Text));RetStrToInt(Text);if(GetSystemMetrics(SM_DBCSENABLED) GetACP()(DWORD)Ret)China1;elseChina0;//取得操作系统的版本WinNTGetVersion();WinNT(WinNT0x80000000)0 ? 1:0;//如果不是WinNT就打开VxD因为VxD只能在WIN9X下工作if(WinNT0){//打开VxDlstrcpy(SthVxDName,\\\\.\\);GetStartPath(Buffer,sizeof(Buffer));//VxD只认短路径GetShortPathName(Buffer,SthVxDName[4],sizeof(SthVxDName));lstrcat(SthVxDName,SthVxD.VxD);//尝试打开默认的VxDhCVxD CreateFile(\\\\.\\SthVxD, 0,0,0, CREATE_NEW,FILE_FLAG_DELETE_ON_CLOSE, 0);if(hCVxDINVALID_HANDLE_VALUE){//直接打开全路径的VxDhCVxD CreateFile(SthVxDName, 0,0,0, CREATE_NEW,FILE_FLAG_DELETE_ON_CLOSE, 0);}if(hCVxDINVALID_HANDLE_VALUE){//直接打开默认的.VxDhCVxD CreateFile(\\\\.\\SthVxD.VxD, 0,0,0, CREATE_NEW,FILE_FLAG_DELETE_ON_CLOSE, 0);}//成功否if(hCVxD!INVALID_HANDLE_VALUE){EnableHltTRUE;//设置VxD功能号3DeviceIoControl(hCVxD,3,(LPVOID)NULL,0,(LPVOID)EnableHlt,sizeof(EnableHlt),cbBytesReturned,NULL);}else {if(China){LoadString(hResInstance,IDS_MAYBEERROR,Cap,sizeof(Cap));LoadString(hResInstance,IDS_NOTLOADVxD,Text,sizeof(Text));MessageBox(NULL,Text,Cap,MB_OK);}else MessageBox(NULL,Cant load STHVxD.VxD,STHVCD maybe failure !,Maybe Error,MB_OK);}}hIconLoadIcon(hResInstance,MAKEINTRESOURCE(IDI_ICON));if(China) hPopupMenuLoadMenu(hResInstance,MAKEINTRESOURCE(IDR_CMENU));else hPopupMenuLoadMenu(hResInstance,MAKEINTRESOURCE(IDR_MENU));hPopMenuGetSubMenu(hPopupMenu,0);if(!hPrevInstance){wndclass.style CS_HREDRAW | CS_VREDRAW;wndclass.lpfnWndProc (WNDPROC)WndProc;wndclass.cbClsExtra 0;wndclass.cbWndExtra 0;wndclass.hInstance hInstance;wndclass.hIcon hIcon;wndclass.hCursor LoadCursor(NULL,IDC_ARROW);wndclass.hbrBackground (HBRUSH)COLOR_WINDOW;wndclass.lpszMenuName NULL;wndclass.lpszClassName szAppName;RegisterClass(wndclass);}MainWinhwndCreateWindow( szAppName,CoolCPU,WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX,0,0,240,160,NULL,NULL,hResInstance,NULL);ShowWindow(hwnd,SW_HIDE);UpdateWindow(hwnd);AddShellIcon();while(GetMessage(msg,NULL,0,0)){TranslateMessage(msg);DispatchMessage(msg);}DelShellIcon();DestroyIcon(hIcon);DestroyMenu(hPopupMenu);//关闭降温if(WinNT0){if(hCVxD!INVALID_HANDLE_VALUE){EnableHlt0;//设置VxD功能号3DeviceIoControl(hCVxD,3,(LPVOID)NULL,0,(LPVOID)EnableHlt, sizeof(EnableHlt),cbBytesReturned,NULL);}}//关闭VxDif( hCVxD ! INVALID_HANDLE_VALUE )CloseHandle(hCVxD);return msg.wParam;}