Internet Explorer, ShowWindow(ieframe, SW_HIDE);



  • Also
    Hallo erstmal alle zusammen. Ist mein erstes Post, und ich weiss ja was man so über first poster und so sagt...
    Darum möchte ich mich erstmal bisschen vorstellen.
    Ich komme aus der Schweiz und gehe dort ins Gymnasium. Ich programmiere schon ziemlich lange.
    Ganz am anfang qbasic auf windows 3.1, dann bin ich auf die websprachen html/javascript und etwas später noch php umgestiegen. Daraufhin lernte ich Java (weil ich erst dachte Java=Javascript (heute weiss ichs besser 😉 )).
    Dann stieg ich ein bisschen auf Linux um und übte mich ein wenig in Shell Programmierung und zur zeit bin ich an C und der WinAPI Programmierung.

    Zu meinem Problem, wie gesagt ich bin nur so just4fun am programmieren und meine Projekte sind meistens auch nicht sehr durchdacht. In der WinAPI programmierung finde ich mich nun immer besser zurecht, was mich vorallem fasziniert sind Messages und wie ich andere laufende Programme beeinflussen kann.
    Darum wollte ich ein kleines Projekt starten, mit dem ich den Internet Explorer fernsteuern kann ohne dass der benutzer etwas davon mitbekommt. Genau da ist auch schon das erste Problem. Ich dachte mir ich setze einfach den IE mit ShowWindow(iehandle, SW_HIDE); auf unsichtbar und kann mit dem dann weiterarbeiten. Wenn ich jedoch genau das tue, verschwindet der IE wie geplant aus der Taskliste schliesst sich jedoch nach etwa einer halben sekunde von alleine. Nun meine Frage, ist dass ein Fehler meinerseits oder hat das BigBrotherBill absichtlich als "Schutzmassnahme" so eingebaut?
    Würe mich auf eine Antwort freuen.

    Gruss

    hier noch der gekürzte Quellcode:

    HWND ieframe
    
    ieframe = FindWindow("ieframe", NULL);
    ShowWindow(ieframe, SW_HIDE);
    


  • Kaukasus schrieb:

    Ich dachte mir ich setze einfach den IE mit ShowWindow(iehandle, SW_HIDE); auf unsichtbar und kann mit dem dann weiterarbeiten. Wenn ich jedoch genau das tue, verschwindet der IE wie geplant aus der Taskliste schliesst sich jedoch nach etwa einer halben sekunde von alleine. Nun meine Frage, ist dass ein Fehler meinerseits oder hat das BigBrotherBill absichtlich als "Schutzmassnahme" so eingebaut?
    Würe mich auf eine Antwort freuen.

    Gruss

    hier noch der gekürzte Quellcode:

    HWND ieframe
    
    ieframe = FindWindow("ieframe", NULL);
    ShowWindow(ieframe, SW_HIDE);
    

    Da hast du aber einen komischen Internet Explorer. 🙂
    Du versteckst mit SW_HIDE das Fenster, schließt es aber noch lange nicht. Es ist einfach nur nicht mehr sichtbar. Kannst deinen Code ja mal hierhin ändern:

    HWND ieframe
    
    ieframe = FindWindow("ieframe", NULL);
    ShowWindow(ieframe, SW_HIDE);
    Sleep(1000);
    ShowWindow(ieframe, SW_SHOW);
    

    Du wirst sehen, dass der Explorer nach 1 Sekunde wieder auftaucht.



  • Ja, das stimmt das geht, wenn ich jedoch schreibe

    HWND ieframe
    
    ieframe = FindWindow("ieframe", NULL);
    ShowWindow(ieframe, SW_HIDE);
    Sleep(10000);
    ShowWindow(ieframe, SW_SHOW);
    

    kommt er nicht wieder, weil er sich schliesst. Will heissen der Prozess verschwindet aus dem Taskmanager und das Programm ist geschlossen.
    Mir ist schon klar, dass (nicht mehr da != geschlossen) ist, hab ich wohl beim ersten post zu wenig beschrieben.
    Du kannst es ja selbst mal versuchen, vielleicht läuft mein xp auch nur schief

    Gruss



  • Kaukasus schrieb:

    Du kannst es ja selbst mal versuchen, vielleicht läuft mein xp auch nur schief

    Gruss

    Also meiner kommt wieder. Ich muss halt nur 10 Sekunden warten, aber kommt so wieder wie er verschwunden ist 🙂



  • freaked schrieb:

    Kaukasus schrieb:

    Du kannst es ja selbst mal versuchen, vielleicht läuft mein xp auch nur schief

    Gruss

    Also meiner kommt wieder. Ich muss halt nur 10 Sekunden warten, aber kommt so wieder wie er verschwunden ist 🙂

    meiner nicht, hab win xp prof sp 1
    du?
    wäre gespannt auf die ergebnisse anderer benutzer, bin schon ein bisschen verwirrt...



  • WinXP Pro SP2



  • Hab mir jetzt auch das SP2 installiert und nun funktioniert es auch, ist ein bisschen komisch aber das ist man sich von WIN ja gewöhnt.

    SP 1->funzt nicht
    SP 2->funzt


Anmelden zum Antworten