SW_Hide nie działa

PI
  • Rejestracja: dni
  • Ostatnio: dni
0

Witam
mam taki kod:

Kopiuj
shellexecute(Handle,'Open',PCHar('d:\\syntalk.exe'),nil,nil,SW_HIDE);
{polececenie powinno niby uruchomić syntalka ale powinien on być niewidoczny,
i odpala go ale caly czas go widać i w tym problem}

i tak też nie działa:

Kopiuj
WinExec('d:/syntalk.exe',sw_hide);
{dzieje się to samo co w przypadku pierwszym}

Jak uruchomić ten program aby był niewidoczny?

agnieszka
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 97
0

HANDLE H;
H = FindWindow(NULL,"belka tyulowa");
if (H){
ShowWindow(H, SW_HIDE);
}

TO MOŻE DO TIMERA ALBO POKOMBINUJ.

AP
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3079
0

...dziwne

U mnie w Builderze działa bez problemu :

Kopiuj
WinExec("E:\Projekt1.exe",SW_HIDE);

/edit : może problem tkwi w samym SynTalku [???]. Spróbuj uruchomić tak inna aplikację.

PI
  • Rejestracja: dni
  • Ostatnio: dni
0

tak problem jest tylko z tym programem na innych programach działa bez problemów.
jest może jakaś inna metoda schowania programu?

SZ
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3356
0

Sposób pokazania aplikacji nie wymusza na niej tego zachowania, a jedynie przekazuje jako parametr wywołania: nCmdShow.

Kopiuj
int WINAPI WinMain(
    HINSTANCE hInstance,	// handle to current instance
    HINSTANCE hPrevInstance,	// handle to previous instance
    LPSTR lpCmdLine,	// pointer to command line
    int nCmdShow 	// show state of window
);

Równie dobrze aplikacja może to ignorować i zawsze pokazywać okno.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.