Page 2 of 2
Re: Zugriff auf mit 'FileInstall' eingebundene Skriptressourcen
Posted: 07 Mar 2016, 16:39
by Peter2
Peter2 wrote:- der ganze Pfad wird als Struktur in die Exe hineinkompiliert -
haichen wrote:...Die eingebundene Datei findet sich dann immer an derselben Stelle in der kompilierten Exe. Das kannst Du mit dem ResHacker überprüfen...
Ich habe nochmals nachgesehen ...
a) Der Pfad wird nicht als "Struktur" eingebaut; diese wurde mir nur im TotalCommander mit dem MultiArc-Plugin so angezeigt. Aber der Pfad ist drinnen.
b) Ja, er liegt in RcData immer an der gleichen Stelle, aber gemäss der Angabe eben mit oder ohne Pfad.
Damit scheint das nicht unmöglich, aber es ist zu beachten.
Re: Zugriff auf mit 'FileInstall' eingebundene Skriptressourcen
Posted: 08 Mar 2016, 03:17
by just me
Der Zugriff gestaltet sich relativ einfach, wenn man sich das o.a. Beispiel von
lexikos anschaut. Man braucht dafür nur den im Kommando
FileInstall als Parameter
Quelle verwendeten Namen, der Ressourcentyp ist immer
RCDATA.
(
siehe)
Re: Zugriff auf mit 'FileInstall' eingebundene Skriptressourcen
Posted: 07 Jun 2020, 18:39
by nscience
Funtioniert das auch mit Bildern, die Transparency/Alpha Channel haben, zb PNG?
Wenn es auf SKANs Ansatz basiert, könnte es da wohl Probleme geben. Zumindest image2include machte mir Probleme in Zusammenhang mit ImageSearch und transparentem Suchbld iVgl zur Filemethode
Re: Zugriff auf mit 'FileInstall' eingebundene Skriptressourcen
Posted: 08 Jun 2020, 04:00
by just me
Moin,
hast Du es versucht?
Re: Zugriff auf mit 'FileInstall' eingebundene Skriptressourcen
Posted: 08 Jun 2020, 18:28
by nscience
just me wrote: ↑08 Jun 2020, 04:00
Moin,
hast Du es versucht?
Aktuell noch nicht. Jedoch werde ich es, wenn ich mit dem Testen hier fertig bin. Bastel und teste/vergleiche derzeit noch image2include und der Lösung von The Dude
https://www.autohotkey.com/boards/viewtopic.php?p=301384#p301384
Ich bekomme unterschiedliche outputs bei PNG mit Transparenz. Und beide verhalten sich wiederum mit ImageSearch anders, als wenn ich ImageSerach per Bilddatei laufen lasse.
(was mich zu der Vermutung bringt, dass sich IS selber bei Handles und Transparenz möglicherweise anders verhält?)
Re: Zugriff auf mit 'FileInstall' eingebundene Skriptressourcen
Posted: 25 Jan 2021, 23:57
by c7aesa7r
Code: Select all
tada := FI_GetResource("sound.wav")
PlaySoundResource(tada)
msgbox, hello
return
PlaySoundResource(SndRes)
Return DllCall( "winmm.dll\PlaySound" ( A_IsUnicode ? "W" : "A" ), UInt,( A_IsCompiled ? SndRes.ptr : &SndRes ), UInt,0 , UInt, 0x6 ) ; SND_MEMORY := 0x4 | SND_NODEFAULT := 0x2
FI_GetResource(ResName,ResType="10") {
If !(A_IsCompiled)
Return False
If (HRSRC := DllCall("Kernel32.dll\FindResource", "Ptr", 0, "Str", ResName, "Ptr", ResType, "UPtr"))
&& (HRES := DllCall("Kernel32.dll\LoadResource", "Ptr", 0, "Ptr", HRSRC, "UPtr"))
Return {Ptr: DllCall("Kernel32.dll\LockResource", "Ptr", HRES, "UPtr")
, Size: DllCall("Kernel32.dll\SizeofResource", "Ptr", 0, "Ptr", HRSRC, "UInt")}
Return False
}
FileInstall, sound.wav, ""
The message box only appears when the wav files have ended, is possible to the script did not pause while the sound is still playing?
EDIT
Got it, just change the dllcall in the function PlaySoundResource:
Code: Select all
Return DllCall( "winmm.dll\PlaySound" ( A_IsUnicode ? "W" : "A" ), UInt,SndRes.ptr, UInt,0, UInt, 0x7 )