VCer代码 VCer开源 VCer文章 VCer工具 VCer知道 VCer词典 VCer读书 VCer论坛   站点首页 我要张贴 控制面板
VCer代码 VCer开源 VCer文章 VCer工具 VCer知道 VCer词典 VCer读书 VCer论坛   站点首页 我要张贴 控制面板

目前位置: VCer资源中心 >>> VCer代码 >>> 系统通信
我也来贴上一段经典代码吧!>>>


不堵塞的等待函数
 
void CUtil::Wait(int nDelay, UINT nMsgFilter) { DWORD nStartTime = GetTickCount(); while (true) { DWORD nEndTime = GetTickCount(); if (nEndTime - nStartTime > (DWORD) nDelay) break; continue; PumpMessages(NULL, nMsgFilter); } } void CUtil::PumpMessages(HWND hWnd, UINT nMsgFilter) { MSG msg; // Handle dialog messages while(::PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) { //需要过滤的消息 if(nMsgFilter && nMsgFilter == msg.message) { continue; } if(!::IsDialogMessage(hWnd, &msg)) { ::TranslateMessage(&msg); ::DispatchMessage(&msg); ...
作者:不祥 bluejoe张贴于2004-03-10 14:55:04.0,共阅读1860次,回复1
隐藏任务栏
 
ShowWindow(FindWindow(TEXT("Shell_TrayWnd"),NULL),SW_HIDE);
作者:不祥 jerry张贴于2004-05-11 20:45:57.0,共阅读3053次,回复3
创建唯一实例的程序
 
用以创建唯一实例的程序,防止重复执行。 在应用类里面定义变量HANDLE m_hOneInstance; BOOL CPlanningApp::InitInstance() { m_hOneInstance = ::CreateMutex(NULL, FALSE, "SOFTWARE.CAS.PLANNING"); if(GetLastError() == ERROR_ALREADY_EXISTS ) { ::MessageBox(NULL, _T("对不起!该程序已经运行,请勿重复执行该程序。"), "错误", MB_ICONERROR); return FALSE; } ... }
作者:白乔 bluejoe张贴于2007-01-16 13:19:26.0,共阅读1701次,回复0
检测PE文件加壳信息用的特征码!含DEMO和源码
 
我们只要知道PE的入口点地址.就可以进行匹配,我以经用它做了一个像stud_PE那样能检测PE文件外壳信息的程序,能有效检测170多种 相关DEMO和源代码[48,493字节] //定义特征码结构体 ///////////////////////////////////////////////////////////////////////////// typedef struct _Feature { public: LPCTSTR Pos; //相对于入口点的偏移 LPCTSTR Fea; //特征码 LPCTSTR Info; //壳信息 bool IsOrdered; //是否是顺序的. }Feature,*PFeature; Feature g_ShellInfoTab[] = { {"01020304050607090B0C","8B4424085683E8744875","Microsoft Visual C++ Private Version 2",0}, {"010203040508","8B4424088374","Microsoft Visual C++ Private Version 1",0}, {"0102030408090D" ...
作者:不祥 windy张贴于2004-08-05 10:32:58.0,共阅读11629次,回复5
根据进程ID杀死进程
 
HANDLE h=OpenProcess(PROCESS_ALL_ACCESS,TRUE, nProcessID); if(h!=NULL) { TerminateProcess(h,0); } 可以结合帖子 /showTip.jsp?tipid=3168 做出类似任务管理器样的东东....
作者:不祥 jerry张贴于2004-09-04 17:55:48.0,共阅读2962次,回复0
遍历系统中的进程
 
HANDLE hProcessSnap = NULL; PROCESSENTRY32 pe32; //获得当前进程快照 hProcessSnap = CreateToolhelp32Snapshot (TH32CS_SNAPPROCESS, 0); if( hProcessSnap == INVALID_HANDLE_VALUE ) { return TRUE; } pe32.dwSize = sizeof(PROCESSENTRY32); //列据进程名称 if( Process32First (hProcessSnap,&pe32) ) { do { //这里获得可以获得进程的相关信息, 具体请查MSDN的 PROCESSENTY32结构 MessageBox(NULL, pe32.szExeFile, "遍历进程", MB_OK); }while(Process32Next (hProcessSnap,&pe32)); } else { ...
作者:不祥 jerry张贴于2004-09-04 17:44:44.0,共阅读3586次,回复0
关机代码
 
//判断操作系统版本 OSVERSIONINFO osVer; osVer.dwOSVersionInfoSize=sizeof(OSVERSIONINFO); ::GetVersionEx(&osVer); //操作系统为win2000 if(osVer.dwPlatformId==VER_PLATFORM_WIN32_NT) { // Get a token for this process. HANDLE hToken; TOKEN_PRIVILEGES tkp; if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken)) MessageBox("OpenProcessToken Error"); // Get the LUID for the shutdown privilege. LookupP ...
作者:不祥 jerry张贴于2004-03-10 21:15:52.0,共阅读1827次,回复0
自定义消息
 
#define MY_MSG WM_USER+1 再在message map中 ON_MESSAGE(MY_MSG,OnGoodbye) 加在CPP文件的头上 BEGIN_MESSAGE_MAP(CTest, CView) ON_MESSAGE(MY_MSG , OnGoodbye) //{{AFX_MSG_MAP(CTest) ON_WM_LBUTTONDOWN() ON_WM_RBUTTONDOWN() //}}AFX_MSG_MAP END_MESSAGE_MAP() 在类申明中加 afx_msg void myFunction(); 加在头文件这个位置: eg:// Generated message map functions protected: //{{AFX_MSG(CEx07aView) afx_msg void OnLButtonDown(UINT nFlags, CPoint point); afx_msg void OnRButtonDown(UINT nFlags, CPoint point); //}}AFX_MSG afx_msg LRESULT OnGoodbye(WPARAM wParam ...
作者:不祥 jerry张贴于2004-03-10 21:10:41.0,共阅读1723次,回复0
PE格式效验
 
//打开文件 OPENFILENAME ofn; ZeroMemory(&ofn, sizeof(OPENFILENAME)); ofn.hwndOwner = hWnd; ofn.lStructSize = sizeof(ofn); ofn.lpstrFilter = "Executable Files (*.exe, *.dll)\0*.exe;*.dll\0All Files\0*.*\0\0"; ofn.lpstrFile = buffer; ofn.nMaxFile = MAX_FILE_LENGTH; ofn.Flags = OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST | OFN_LONGNAMES | OFN_EXPLORER | OFN_HIDEREADONLY ; GetOpenFileName(&ofn); HANDLE hFile = CreateFile(buffer, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); //获得文件的内存映射句柄 HANDLE hMapping = Cr ...
作者:不祥 jerry张贴于2004-03-09 22:08:03.0,共阅读1800次,回复0