Skal virksomheder stå stærkere mod angreb og kunne udvikle sig, skal sikkerhed, drift og forretning tænkes sammen. Det er tanken bag Jysk IT’s ambition om at skabe en “sikker fremtid” for kunderne.
den skal ikke bruge krudt på at åbne noget som helst, den skal bare udføre koden fra før :-)
procedure TForm1.FormCreate(Sender: TObject); var H: hWnd; begin H := Handle; while H <> 0 do begin if not ((H = Handle) or (H = Application.Handle)) then if IsWindowVisible(H) then PostMessage(H, WM_SYSCOMMAND, SC_MINIMIZE, 0); H := GetNextWindow(H, GW_HWNDNEXT); end; application.Terminate; end;
program Project1; {$APPTYPE CONSOLE} uses Windows; const WM_SYSCOMMAND = $0112; var H: THandle; begin H := FindWindow('Shell_TrayWnd', nil); H := GetNextWindow(H, GW_HWNDFIRST); while H <> 0 do begin if IsWindowVisible(H) then PostMessage(H, WM_SYSCOMMAND, SC_MINIMIZE, 0); H := GetNextWindow(H, GW_HWNDNEXT); end; end.
Copy og paste hele koden over i notepad og gem det som en .dpr fil. Navnet på .dpr filen skal være det samme som navnet efter program Dobbeltklik på filen og delphi åbner sig med projektet.
Jeg nåede ikke lige at få det til at virke, men hvis ikke gider at se på det konsol-vindue der kommer frem, så kan det her måske være nyttigt:
function GetConsoleWindow: THandle; //Get handle for console Window var S: AnsiString; C: Char; hConsole: THandle; begin Result := 0; Setlength(S, MAX_PATH+1); if GetConsoleTitle(PChar(S), MAX_PATH) <> 0 then begin C := S[1]; S[1] := '$'; SetConsoleTitle(PChar(S)); hConsole := FindWindow(nil, PChar(S)); S[1] := C; SetConsoleTitle(PChar(S)); Result := hConsole; end; end;
Så burde du bare kunne smide ShowWindow(GetConsoleWindow, SW_HIDE); ind i starten af programmet, men jeg fik det desværre ikke rigtig til at fungere, men nu har du da funktionerne! :)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.