Autor Beitrag
Dezipaitor
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 220



BeitragVerfasst: Di 06.05.03 20:48 
wie kriege ich das Handle meines Konsolenfensters raus, ohne die Titelleiste abzufragen?

THX
Terra23
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 872

Win 8
Delphi 7
BeitragVerfasst: Di 06.05.03 22:09 
Wenn ich richtig aufgepaßt habe (wenn :!: ), dann kannst du doch deinem Fenster selbst einen Namen (Handle) geben, oder? Schau mal hier, vielleicht hilft dir das etwas weiter. So genau kann ich es dir aber auch nicht sagen.. :-) Aber hast du vielleicht schon mal in der FAQ geschaut? Da ist vieles drin, was sehr nützlich ist. :-)

_________________
Hasta La Victoria Siempre
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 06.05.03 22:32 
Selbst ein Handle vergeben? Du weißt anscheinend nicht, was ein Handle ist, wozu es gebraucht wird und wie Windows damit umgeht.
Dezipaitor Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 220



BeitragVerfasst: Di 06.05.03 22:44 
es geht mir nur darum,
das consolenfenster nach einer messagebox in den vordergrund zu holen.
aber da delphi das erstellen des konsolenfenstern komplett hinter schloss und riegel macht, und getactivewindow auch nicht funkz,
muss es doch irgendwie anders gehen, das fensterhandle zu bekommen.

nonVCL muss ich hier ausschließen, da ich in dem programm text routinen verwende, die notwendig sind.
Dezipaitor Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 220



BeitragVerfasst: Di 06.05.03 22:56 
so nach 2h im internet stöbernd hab ich es geschafft, und etwas gefunden.

www.swissdelphicente...showcode.php?id=1205

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
function GetConsoleWindow: THandle; 
var 
  S: AnsiString; 
  C: Char; 
begin 
  Result := 0; 
  Setlength(S, MAX_PATH + 1); 
  if GetConsoleTitle(PChar(S), MAX_PATH) <> 0 then 
  begin 
    C := S[1]; 
    S[1] := '$'; 
    SetConsoleTitle(PChar(S)); 
    Result := FindWindow(nil, PChar(S)); 
    S[1] := C; 
    SetConsoleTitle(PChar(S)); 
  end; 
end;


es sieht so aus, als wäre der klassenname einer konsole der titel mit dem ersten zeichen ersetzt durch ein Dollarzeichen.

ich sage nur : WOW


Zuletzt bearbeitet von Dezipaitor am Di 06.05.03 23:00, insgesamt 1-mal bearbeitet