Skjul consol proggram fra start...

Tags:    c++

Jeg har prøvet at bruge elementer fra dette kode eksempel

Fold kodeboks ind/udKode 


Problemet er at der kommer et kort klimt af programmet nogen mulig måde at løse det på ?



10 svar postet i denne tråd vises herunder
4 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Prøv at åbne programmet igennem kommandoprompten, istedet for at åbne selve exe-filen. Så kan du nå at se om der opstår nogle fejl. Du gør det ved at åbne "Kør" Start->Kør og skriver cmd. Så kan du bruge kommandoen cd til at gå ind i mappen hvor dit program er, og så skrive ditprogram.exe



Du skal compile den som en GUI, ikke en Console.

Det skulle ordne det.



Det bliver kaldt "stealth mode".

Her er en mulig løsning:
Fold kodeboks ind/udKode 




som kasper skrev så skal du arbejde med GUI app's i stedet for console app's hvis du vil lave arbejde der ikke viser et vindue.

Her er koden til et lille program der ændrer fildatoen (til nu) på et program det er et program jeg har i min send to menu og som uden at vise noget vindue bare ændrer datoen når det får en fil.

Venlig hilsen
Asger


#include <windows.h>
//---------------------------------------------------------------------------
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, INT nCmdShow)
{
FILETIME CreationTime;
FILETIME AccessTime;
FILETIME WriteTime;
SYSTEMTIME SysTime;

char *CmdLine = lpCmdLine;
if(CmdLine[0] == '\\"')++CmdLine;
int L = strlen(CmdLine);
if(CmdLine[L-1] == '\\"')CmdLine[L-1] = '\\0';

HANDLE hFile = CreateFile(CmdLine,
GENERIC_READ|GENERIC_WRITE,
FILE_SHARE_READ|FILE_SHARE_WRITE,
0,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
0);

if(hFile == INVALID_HANDLE_VALUE)
{
char Mess[2048] = {0};
DWORD Error = GetLastError();

FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, 0, Error, 0, Mess, 2048, 0);
MessageBox(0, Mess, " Read File Error", MB_OK);
return 1;
}

GetFileTime( hFile, &CreationTime, &AccessTime, &WriteTime );

GetSystemTime( &SysTime );
SystemTimeToFileTime( &SysTime, &WriteTime );

SetFileTime( hFile, &CreationTime, &AccessTime, &WriteTime );

CloseHandle(hFile);

return 0;
}




Der sker ingen fejl... Der går bare et stykke tid inden den skjules... Der er bare et blink, men den skal slet ikke vises... Kan man ikke lave sådan at den slet ikke vises ?







Hvordan ændre jeg så filer parametere så de bliver skjulte og system filer ?



Indlæg senest redigeret d. 21.06.2007 09:06 af Bruger #8735
hvordan mener du?
altså så den gemmer sig når den åbnes eller hvordan?



jep



Har fundet muligheden

Fold kodeboks ind/udKode 


Men det er kun under Windows at det virker... Desuden er det ikke fantastisk at basere sit program på bat funktioner :P



t