Problem mit "PostMessage, 1075, 508..."

German support forum

Moderators: Hacker, Stefan2, white

Post Reply
icke1954
Junior Member
Junior Member
Posts: 50
Joined: 2011-10-16, 09:31 UTC

Problem mit "PostMessage, 1075, 508..."

Post by *icke1954 »

Hallo, ich habe ein Problem mit AHK + TC.
Ich kann machen was ich will, ich bekomme den Fehler nicht weg:

Code: Select all

PostMessage, 1075, 508, , , ahk_class TTOTAL_CMD 
öffnet das Packfenster ohne Zielpfad. Es würde also im selben Fenster gepackt werden.

aber der Umweg über die Kommandozeile funktioniert

Code: Select all

PostMessage, 1075, 4003, , , ahk_class TTOTAL_CMD 
send, em_CDETemp {Enter}
PostMessage, 1075, 508, , , ahk_class TTOTAL_CMD
Mein Ziel war : Mittels Strg+Alt + F5 an einen festgesetzten Ort zu Packen

Code: Select all

usercmd.ini:
[em_CDETemp]
cmd=%COMMANDER_PATH%\totalcmd.exe /O /S /R=E:\Temp

Code: Select all

SendUserCommand(v_UserCommand)
{
  VarSetCapacity(CopyDataStruct, 12, 0)
  NumPut(Asc("E"), CopyDataStruct, 0)
  NumPut(Asc("M"), CopyDataStruct, 1)
  NumPut(StrLen(v_UserCommand)+1, CopyDataStruct, 4)
  NumPut(&v_UserCommand, CopyDataStruct, 8)
  SendMessage, 0x4A, 0, &CopyDataStruct,, ahk_class TTOTAL_CMD
  VarSetCapacity(CopyDataStruct, 0)
}	

Code: Select all

^!F5::
	ifWinActive ahk_class ahk_class TTOTAL_CMD
	{
		SendUserCommand("em_CDETemp")
		PostMessage, 1075, 508, , , ahk_class TTOTAL_CMD
		send, {ENTER}
		WinWait ahk_class TDLGZip
	}
	Return
Es geht mir jetzt nicht mehr um das eigentliche Ziel, mit dem Umweg über die Kommandozeile kann ich ja leben, sondern um die Ursache dieses merkwürdigen Verhaltens. Muß auch sagen, dass ich lange nach der Funktion "SendUserCommand" gesucht hatte und jetzt wo ich endlich die richtige erwischt habe, funktioniert die Postmessage, 1075,508 nicht mehr korrekt.

Vielleicht weiß jemand einen Rat
MfG icke
TC 8.0ß11
Windows XP SP3
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50639
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Ich kann machen was ich will, ich bekomme den Fehler nicht weg:

Code: Select all

PostMessage, 1075, 508, , , ahk_class TTOTAL_CMD
öffnet das Packfenster ohne Zielpfad.
Kann ich nicht bestätigen, hier öffnet sich immer das PackfensterMIT Zielpfad.

Was zeigt denn das andere Dateifenster an? Falls es ein Suchergebnis anzeigt, wird tatsächlich kein Zielpfad im Packdialog vorgeschlagen, weil es eben keinen gibt.
Author of Total Commander
https://www.ghisler.com
icke1954
Junior Member
Junior Member
Posts: 50
Joined: 2011-10-16, 09:31 UTC

Post by *icke1954 »

@ghisler(Author)
Danke für Ihre Antwort!
Was zeigt denn das andere Dateifenster an?
Da ist eben nicht viel zu sehen!
...wird tatsächlich kein Zielpfad im Packdialog vorgeschlagen, weil es eben keinen gibt.
Ja, das ist mir schon klar. Die Frage ist eben, wer hat den Zielpfad, der ja offensichtlich nur bei mir (an 3 PC's) und nur beim Auruf mittels PostMessage fehlt, "geklaut". :cry:

icke
TC 8.0ß11
Windows XP SP3
icke1954
Junior Member
Junior Member
Posts: 50
Joined: 2011-10-16, 09:31 UTC

Post by *icke1954 »

Hallo und Guten Abend, das Problem war:

1. Ich hatte noch eine ältere Version von AHK 104805 installiert und
nach einem Update auf 110504 war der beschriebene Fehler verschwunden.

2. Bei der Installation von AutoHotkey110504 werden 2 Varianten angeboten Unicode (32-Bit) + Ansi(32-Bit).
Die Unicode-Installation hat wohl ein umfangreicheres und neues Befehlsangebot aber ist mit vielen alten Scripten nicht kompatibel.
z.b. die von mir genutzte Funktion "SendUserCommand(v_UserCommand)" läuft nicht, so dass ich auf die Ansi-Version angewiesen war.

3. Noch ein Fehler der sich durch eine längere Wartezeit kurz vor dem Zippen bemerkbar machte, war in meinem Script versteckt. (Sendmessage >> Postmessage)

Jetzt läuft folgender Script problemlos:

Code: Select all

^!F5::
	ifWinActive ahk_class ahk_class TTOTAL_CMD
	{
		SendUserCommand("em_CDETemp")
		Sleep, 200
		PostMessage, 1075, 508, , , ahk_class TTOTAL_CMD
		send,{ENTER}
		WinWaitactive, ahk_class TDLGZip
	}
Return
MfG icke
TC 8.0ß11
Windows XP SP3
Post Reply