Hvordan ikke vise windev start vindue, når startet fra kode?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg kalder windev med denne kode;


STARTUPINFO Startupinfo ;
PROCESS\_INFORMATION ProcessInformation ;
memset (&Startupinfo, 0, sizeof (STARTUPINFO)) ;
memset (&ProcessInformation, 0, sizeof (PROCESS\_INFORMATION)) ;

Startupinfo.cb = sizeof (STARTUPINFO) ;
Startupinfo.dwFlags |= STARTF\_USESHOWWINDOW ;
Startupinfo.wShowWindow = SW\_HIDE;
BOOL bCreated = CreateProcess (NULL, strCmd.GetBuffer (), NULL, NULL, TRUE, CREATE\_SUSPENDED, NULL, NULL, &Startupinfo, &ProcessInformation) ;

ResumeThread (ProcessInformation.hThread) ;
strCmd.ReleaseBuffer () ;

WaitForSingleObject (ProcessInformation.hProcess,INFINITE) ;


med strCmd at være et kald til windev, med dest. fil og original, zip-fil som parametre, men windev har den vane, hvor der ved et vindue vil blive vist og hænge omkring i ca. to sekunder (for det meste falmer ind og ud).


Denne kode er i et stykke tid bestemt til at blive bestået af omkring 120.000 gange (stor database indeholdende WDZ-blobs, der skal eksporteres og udvindes, ved hjælp af mysql derefter windev), hvilket gør ca. 3 dage til en (1) tid, der kører programmet.


Hvordan kan jeg gøre det sådan, at et gudsforladt vindue ikke kommer op?


Rediger: Jeg glemte at nævne, men det skamløse vindue DARES satte sig foran noget andet, stjæler fokus mens det er på det. Det betyder i tre (3!) Dage, jeg kan ikke gøre noget, medmindre jeg ikke gør det komme til syne.

Bedste reference