AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Handle als Pointer übergeben.

Ein Thema von Luckie · begonnen am 7. Sep 2003 · letzter Beitrag vom 7. Sep 2003
 
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

Handle als Pointer übergeben.

  Alt 7. Sep 2003, 17:30
Also ich habe eine Thread-Funktion:
Delphi-Quellcode:
function SecondaryThread(p: Pointer): Integer;
var
  Thread: THandle;
  s: string;
begin
  result := 0;
  Thread := THandle(p);
  SuspendThread(Thread);
  s := 'Der primäre Thread [' + IntToStr(Thread) + '] wurde unterbrochen.'
    +
    #13#10;
  s := s + 'Er reagier weder auf Eingaben noch hat er eine Ausgabe.' + #13#10;
  s := s + 'Klicken sie OK, um zum primären Thread zurück zukehren ';
  s := s + 'und den sekundären Thread zu beenden.';
  Messagebox(hApp, pointer(s), 'Sekundärer Thread', MB_ICONWARNING);
  ResumeThread(Thread);
  CloseHandle(Thread);
  EnableWindow(hApp, True);
end;
Diese soll den primären Thread des Prozesses anhalten. Als Parameter kann ich nur einen Pointer übergeben. Und es muß der Hnadle des primären Threads sein.
Ich habe das bis jetzt so probiert:
Delphi-Quellcode:
              New(PrimaryThreadhandle);
              DuplicateHandle(GetCurrentProcess(), GetCurrentThread(),
                GetCurrentProcess(), PrimaryThreadHandle, THREAD_SUSPEND_RESUME,
                False, DUPLICATE_SAME_ACCESS);
              ThreadHandle := BeginThread(nil, 0, @SecondaryThread,
                PrimaryThreadHandle, 0, ThreadID);
              if ThreadHandle <> 0 then
              begin
                EnableWindow(hDlg, False);
                Dispose(PrimaryThreadHandle);
                CloseHandle(ThreadHandle);
              end;
In der Messagebox sehe ich auch einen Handle bzw. eine Zahl, nur scheint das nicht das Handle des primären Threads des Prozesses zu sein, da der Thread nicht angehlaten wird.
PrimaryThreadHandle habe ich wie folgt deklariert:
PrimaryThreadHandle: PHandle; Wie übergebe ich jetzt also den Handle als Pointer?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz