Autor Beitrag
Ich Bins
ontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 197

Win XP Prof
D5 Prof
BeitragVerfasst: Mo 18.10.04 11:31 
Hi

Gestern sind mir 1-2 Programme während der Arbeit abgestürzt. Dabei ist kurz die Taskleiste mit den ganzen Fenstern verschwunden, aber nach ein paar Sekunden wieder aufgetaucht. Das Problem ist nur, dass ich noch ein Programm (eMule) laufen hatte. Das Programm war nur im System-Tray rechts unten als Symbol, allerdings ist es nach dem Absturz nicht mehr da. Ich kann also das Programm-Fenster nicht mehr öffnen oder darauf zugreifen um es zu beenden. Aber das Programm scheint trotzdem noch zu laufen. Es überträgt erstens noch Daten, was ich an der Internetverbindung sehen kann. Zweitens ist es im Windows XP Taskmanager noch vorhanden, dort aber nicht mehr als Anwendung, sondern nur noch als Prozess, bei dem sich auch die Speicherauslastung ändert.
Kann mir bitte jemand helfen, wie ich an das Programm wieder rankomme um es regulär zu beenden (Über den Taskmanager beenden hätte Datenverlust zur Folge)
Ach ja, ich hab auch schon versucht, das Programm einfach nochmal zu starten, aber da es ja bereits läuft, tut sich da auch nichts.

Vielen Dank für eure Hilfe.

_________________
Diese Nachricht wurde mit einer Taschenlampe in das offenliegende Ende eines Glasfaserkabels gemorst!
toms
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1099
Erhaltene Danke: 2



BeitragVerfasst: Mo 18.10.04 11:34 
Hi,

Idee:
Liste alle Fenster mit EnumWindows() auf und zeige das zum E-Mule gehörende Fenster mit ShowWindow() an.
Udontknow
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2596

Win7
D2006 WIN32, .NET (C#)
BeitragVerfasst: Mo 18.10.04 11:35 
Fahr einfach den Rechner herunter. Das Programm sollte das mitkriegen und sich ordnungsgemäß beenden.

Cu,
Udontknow
Ich Bins Threadstarter
ontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 197

Win XP Prof
D5 Prof
BeitragVerfasst: Mo 18.10.04 11:44 
@Udontknow hab ich beim letzten mal schon probiert als mir das passiert ist, Windows scheint das Programm dann allerdings relativ rabiat zu beenden, hatte trotzdem Datenverlust

@toms Kenne mich mit Delphi noch nicht all zu sehr aus, aber Wenn ich aufs OnClick-Ereignis von z.B. nem Button
EnumWindows();
schreibe, kommt der Fehler "Nicht genügend wirkliche Parameter"

_________________
Diese Nachricht wurde mit einer Taschenlampe in das offenliegende Ende eines Glasfaserkabels gemorst!
toms
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1099
Erhaltene Danke: 2



BeitragVerfasst: Di 19.10.04 08:22 
Hi,

Probier mal diesen Code, um eMule wieder anzuzeigen:

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
function _GetClassName(Handle: Hwnd): string;
var
  ClassName: string;
begin
  SetLength(className, MAX_PATH);
  SetLength(className, GetClassName(Handle, pchar(className), MAX_PATH));
  Result := ClassName;
end;

function _GetWindowsText(Wnd: HWND): string;
var
  TextLn: Integer;
  StrBuf: PChar;
begin
  Result := '';
  TextLn := SendMessage(Wnd, WM_GETTEXTLENGTH, 0, 0);
  if TextLn = 0 then
    Exit;
  GetMem(StrBuf, TextLn + 1);
  try
    SendMessage(Wnd, WM_GETTEXT, TextLn + 1, Integer(StrBuf));
    Result := StrBuf;
  finally
    FreeMem(StrBuf);
  end;
end;

function EnumWindowsProc(wnd: HWND;  lParam: Longint): Bool; stdcall; export;
begin
    Result := not ((_GetClassName(wnd) = '#32770') and (pos('eMule',_GetWindowsText(wnd))<> 0));
    if not Result then
    begin
      Showwindow(wnd, SW_SHOW);
      SetForeGroundWindow(wnd);
    end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  EnumWindows(@EnumWindowsProc, 0);
end;
Ich Bins Threadstarter
ontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 197

Win XP Prof
D5 Prof
BeitragVerfasst: Di 19.10.04 11:19 
Problem hat sich von selber gelöst :oops: der PC ist einfach nochmal abgestürzt und danach wars wieder da, warum auch immer.
Trotzdem allen nochmal vielen Dank.
@toms Wenns nochmal passiert (was nicht gerade unwahrscheinlich ist :? )werd ichs mal probieren, danke.

_________________
Diese Nachricht wurde mit einer Taschenlampe in das offenliegende Ende eines Glasfaserkabels gemorst!