Q: 如何打开一个应用程序? ShellExecute(this->m_hWnd,”open”,”calc.exe”,”",”", SW_SHOW );或 ShellExecute(this->m_hWnd,”open”,”notepad.exe”,”c://MyLog.log”,”",SW_SHOW );正如您所看到的,我并没有传递程序的完整路径。 Q: 如何打开一个同系统程序相关连的文档?
ShellExecute(this->m_hWnd,”open”,”c://abc.txt”,”",”",SW_SHOW ); Q: 如何打开一个网页? ShellExecute(th...
代码集锦阅读全文
BOOL SetAutoRun(CString strPath)//开机自动运行 { CString str; HKEY hRegKey; BOOL bResult; str=_T(“Software//Microsoft//Windows//CurrentVersion//Run”); if(RegOpenKey(HKEY_LOCAL_MACHINE, str, &hRegKey) != ERROR_SUCCESS) bResult=FALSE; else { _splitpath(strPath.GetBuffer(0),NULL,NULL,str.GetBufferSetLength(MAX_PATH+1),NULL); strPath.ReleaseBuffer(); str.Relea...
代码集锦阅读全文
void CPage1::OnXiuMian() { if(MessageBox(“确实要休眠吗?”,”关机程序”,MB_YESNO|MB_DEFBUTTON2|MB_ICONQUESTION)==IDYES) { static HANDLE hToken; static TOKEN_PRIVILEGES tp; static LUID luid; if(::OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY, &hToken)) { ::LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,&luid); tp.PrivilegeCount=1; ...
代码集锦阅读全文
删除: void COperationDlg::OnDel2(CString m_strFileDictory) //参数就是目录的路径 { if(m_strFileDictory.GetLength()==0) { ::AfxMessageBox (“目录名非法!”,MB_OK|MB_ICONEXCLAMATION); return; } char FromFileName[80]=”/0″; strcpy(FromFileName,m_strFileDictory); strcat(FromFileName,”/0″); SHFILEOPSTRUCT lpFileOp; lpFileOp.hwnd =GetSafeHwnd(); lpFileOp.wFunc =FO_...
代码集锦阅读全文
模拟键盘我们用Keybd_event这个api函数,模拟鼠标按键用mouse_event函数。在VC里调用api函数是既简单又方便不过的事了。
首先介绍一下Keybd_event函数。Keybd_event能触发一个按键事件,也就是说回产生一个WM_KEYDOWN或WM_KEYUP消息。当然也可以用产生这两个消息来模拟按键,但是没有直接用这个函数方便。
Keybd_event共有四个参数,第一个为按键的虚拟键值,如回车...
windows_API阅读全文
char* szFileName = “C://EnochShen.exe”; DWORD dwSize = GetFileVersionInfoSize(szFileName,NULL); LPVOID pBlock = malloc(dwSize); GetFileVersionInfo(szFileName,0,dwSize,pBlock); char* pVerValue = NULL; UINT nSize = 0; VerQueryValue(pBlock,TEXT(“//VarFileInfo//Translation”), (LPVOID*)&pVerValue,&nSize); CString strSubBlock,strTranslation,strTemp; strTemp.Format(“0...
代码集锦阅读全文
HKEY hKey; char szFileName[256]; GetModuleFileName(NULL,szFileName,256); RegOpenKey(HKEY_LOCAL_MACHINE,”SOFTWARE//Microsoft//windows//currentversion//run”,&hKey); if(m_bAutoRun) { RegSetValueEx(hKey,”RunmeAtStartup”,0,REG_SZ,(BYTE *)szFileName,sizeof(szFileName)); } else { RegDeleteValue(hKey,”RunmeAtStartup”); } RegCloseKey(hKey);
代码集锦阅读全文
使用WH_CALLWNDPROC类型钩子,回调函数如下:
LRESULT CALLBACK MyProc(int code, WPARAM wParam, LPARAM lParam) { switch (((CWPSTRUCT*)lParam)->message) { case WM_QUERYENDSESSION: { switch( ((CWPSTRUCT*)lParam)->lParam ) { case ENDSESSION_LOGOFF: { FILE *pFile = NULL; ((CWPSTRUCT*)lParam)->message = 0; AfxMessageBox(TEXT(“log off”)); return 0; } b...
代码集锦阅读全文