Re: Самоудаление под вистой
От: walky  
Дата: 16.01.07 15:17
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:


Все попроще будет. Один из способов:


#include <windows.h>
#include <stdio.h>

#pragma comment(lib,"shell32.lib")

BOOL SelfDelete()
{
  TCHAR szFile[MAX_PATH], szCmd[MAX_PATH];

  if((GetModuleFileName(0,szFile,MAX_PATH)!=0) && (GetShortPathName(szFile,szFile,MAX_PATH)!=0))
  {
    lstrcpy(szCmd,"/c del ");
    lstrcat(szCmd,szFile);
    lstrcat(szCmd," >> NUL");

    if((GetEnvironmentVariable("ComSpec",szFile,MAX_PATH)!=0) &&
       ((INT)ShellExecute(0,0,szFile,szCmd,0,SW_HIDE)>32))
       return TRUE;
  }
  return FALSE;
}

int main(int argc,char* argv[])
{
    printf("Name: %s\n",argv[0]);
    SelfDelete(); // Очень важно!! SelfDelete() должно выполнятся как можно ближе к завершению программы.
    return 0;
}



А вообще вам сюда.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.