Einzelnen Beitrag anzeigen

napsterxx

Registriert seit: 18. Mär 2007
Ort: Borland
556 Beiträge
 
Delphi 7 Enterprise
 
#12

Re: Fehlermeldung von fremdem Programm abfragen

  Alt 19. Aug 2007, 13:56
xD bei mir funktioniert das tadellos.

Hier mal mein Code:
Delphi-Quellcode:
var
  x, y: Integer;
begin
    Memo1.Lines.Delete(9);
    i := i+1;
    Memo1.Lines.Add(inttostr(i)+' trys to get in a room ;)');
    Memo1.Lines.Delete(11);
    mouse_event(MOUSEEVENTF_LEFTDOWN, x, y, 0, 0); // Doppelklick auf den Raum
    mouse_event(MOUSEEVENTF_LEFTUP, x, y, 0, 0);
    mouse_event(MOUSEEVENTF_LEFTDOWN, x, y, 0, 0);
    mouse_event(MOUSEEVENTF_LEFTUP, x, y, 0, 0);
    sleep(1000); //Kurz warten sodass die Fehlermeldung erscheinen kann wenn der Raum voll ist
    Button2.Click; //Dann Button2 klicken um zu überprüfen ob die Fehlermeldung kam oder nicht
    if Edit1.Text = 'foundthen //Dann Enter drücken um die Fehlermeldung zu "entfernen"
    begin
    keybd_event(VK_Return,0,0,0);
    Button1.Click; //und erneut die Przedur ausführen
    end;
end;
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var Count , Count1, i, i1 :integer;
s : string;
begin
Listbox1.Clear;
EnumWindows(@EnumWinProc, 0); //Alle Fensternamen in Listbox1 schreiben
Count := Listbox1.Items.Count-1;
Listbox2.Clear;
for i := 0 to Count do
begin
  s := Listbox1.Items.Strings[i];
  delete(s, 1, 9); //Da vor jedem namen noch die Adresse steht diese löschen
  Listbox2.Items.Add(s); //Nun den namen ohne adresse in Listbox2 schreiben
end;
Listbox3.Clear;
for I := 0 to Count do
begin
  if Listbox2.Items.Strings[i] = 'GG Gaming Client Beta 1.6then //Dort nach dem Fensternamen suchen, welchen die Fehlermeldung trägt
  begin
  Edit1.Text := 'found'; //Wenn gefunden dann found in Edit1 schreiben und bei button1 weiter machen
  end;
end;
end;
Vielleicht umständlich geschrieben^^

//EDIT1
hier mal eine liste von allen Fensternamen die angezeigt werden:
Delphi-Quellcode:
020086 : Startmenü
010082 : CiceroUIWndFrame
08021E : CodeParamWindow
0100DC : CiceroUIWndFrame
0200A6 : TF_FloatingLangBar_WndTitle
05051E : Forcer - K1ngC0bra
0804D2 : Forcer
190262 : Struktur
1D025E : Modellansicht
0507EC : Benachrichtigung über Debugger-Problem
030244 : Unit1.pas-Darstellung
0104A6 : Übersetzungswörterbuch
0E021A : HelpInsightWindow
0103C8 : Datenbank-Engine-Fehler
02033C : Forcer - Borland Delphi 2005 for Microsoft Windows - Unit1 [Ausführen von]
010504 : EditorStatusControlForm
010330 : Debug
020324 : Übersetzungswörterbuch
02031C : Schriftart wählen
01031A : Suchergebnisse
02035C : IDEToolbarForm
01036A : Meldungen der Versionskontrolle
01037E : IDEToolbarForm
030304 : Suchen
0102EC : Forcer - Borland Delphi 2005 for Microsoft Windows - Unit1 [Ausführen von]
020684 : GGTV
0206A0 : GGTV
020546 : BNet Ping
020558 : GGTV Player
02063A : Ladder Game Start
020602 : Dialog
020712 : Search a user
0701C2 : GG E-Sports Platform Beta 1.6
02055A : CTrayNotifyIcon Resurrection Notification Window
0601EA : CTrayNotifyIcon Resurrection Notification Window
0401A6 : CTrayNotifyIcon Animation Notification Window
0801CC : Message Manager
0402B2 : Delphi-PRAXiS :: Beitrag editieren - Mozilla Firefox
0601D6 : Socket Notification Sink
020220 : KibitzWindow
0302B4 : XPCOM:EventReceiver
0D0266 : NetscapeDispatchWnd
090284 : XPCOM:EventReceiver
020296 : DBK
020298 : BORDBK90
0401F4 : MCI command handling window
0101DA : ICQ
02035E : .NET-BroadcastEventWindow.1.0.5000.0.20
030338 : WindowsFormsParkingWindow
010368 : DDE Server Window
0102C8 : CTicketManagerWnd
0102CC : DDE Server Window
0101E6 : NVSVCPMMWindowClass
010162 : Connections Tray
010154 : Energieanzeige
01014E : MS_WebcheckMonitor
0300C0 : BitTorrent DNA 2.0 Beta
0100FA : PrivoxyTrayWindow
0100F6 : Privoxy
0100F4 : PrivoxyLogOwner
0100CC : keyboard
0100AE : mouse
04005A : WindowBlinds
0100E4 : GDI+ Window
01011C : GDI+ Window
01017A : Script Console
0402D0 : Boxely:TimerWindow
0101A0 : vidalia
010176 : Tor Network Map
010174 : Tor Bandbreitenbenutzung
010172 : Nachrichtenprotokoll
01016C : vidalia
01016A : Vidalia Kontroll-Panel
02037A : GDI+ Window
0302DE : SysFader
010084 : Program Manager
//EDit2
kannste in Chat kommen?
Du derefernzierst p2 einmal und weißt die Adresse von i zu. Das heißt p2 (also der Zeiger auf einen Zeiger) zeigt auf den Zeiger p1 welchen du so auf i zeigen lässt.
  Mit Zitat antworten Zitat