IN einem M$ Forum habe ich vor kurzem ein etwas merkwürdiges Posting gelesen - habe da jetzt eine Befürchtung und möchte gerne Wissen, ob diese Befürchtung zutrifft oder nicht.
Könnte jemand mit Vista 64Bit bitte mal den unten stehenden Quelltext auf diese Art testen:
- Programm starten
- Checkbox nicht abhaken
- Testen Button klicken
- Screenshot posten
danach
- Checkbox abhaken
- Testen Button klicken
- Screenshot posten
Bin gespannt - danach kommt evtl. noch ein zweiter Test...
Code
'#####################################################################################
'######### Code von AHT #########
'######### Gepostet für [URL]http://www.paules-pc-forum.de[/URL] #########
'#####################################################################################
Def GetFileVersionInfoSize(2) !"VERSION", "GetFileVersionInfoSizeA"
DEf VerQueryValue(4) !"VERSION", "VerQueryValueA"
Def GetFileVersionInfo(4) !"VERSION", "GetFileVersionInfoA"
DEF GetProcAddress(2) !"KERNEL32.dll", "GetProcAddress"
DEF GetModuleHandle(1) !"KERNEL32", "GetModuleHandleA"
Declare FEHLER&, FILE$, Zero&, Info_Size&, FileInfoSize&, MODULEINFO#, FILE_VER_INFO&, FILE_VER_INFO#
Declare VERSION$, Ver_Value$
Declare Edit&, Button&, Checkbox&, Wow64DisableWow64FsRedirection&, OldValue&
Declare Wow64EnableWow64FsRedirection&, version&
Declare Module$, MHANDLE&, Funktion$
Declare 64Bit&, GetFileVersionInfoSizeA&
Declare GetFileVersionInfoA&, FILE_FEHLER&
version&=UseDLL("version.dll")
Funktion$ = "GetFileVersionInfoSizeA"
GetFileVersionInfoSizeA& = GetProcAddress(version&, ADDR(FUNKTION$))
Funktion$ = "GetFileVersionInfoA"
GetFileVersionInfoA& = GetProcAddress(version&, ADDR(FUNKTION$))
Module$ = "Kernel32.DLL"
MHANDLE& = GetModuleHandle(ADDR(Module$))
Funktion$ = "Wow64DisableWow64FsRedirection"
Wow64DisableWow64FsRedirection& = GetProcAddress(MHANDLE&, ADDR(FUNKTION$))
Funktion$ = "Wow64EnableWow64FsRedirection"
Wow64EnableWow64FsRedirection& = GetProcAddress(MHANDLE&, ADDR(FUNKTION$))
Funktion$ = "IsWow64Process"
MHANDLE& = GetModuleHandle(ADDR(Module$))
IF GetProcAddress(MHANDLE&, ADDR(FUNKTION$))<>0
External("Kernel32.dll", "IsWow64Process", External("Kernel32", "GetCurrentProcess"), Addr(64Bit&))
endif
Windowstyle 31 + 512
WindowTitle "Resourcen Test"
Window 0, 0 - 640, 440
Usermessages $10
Edit& = Create("Edit", %HWND, "C:\Windows\System32\Drivers\ACPI.SYS", 20, 20, 500, 30)
Button& = Create("Button", %HWND, "Testen", 20, 60, 500, 30)
Checkbox& = Create("CheckBox", %HWND, "Umleitung deaktivieren", 20, 100, 500, 30)
While %Umessage <> $10
Waitinput
IF Clicked(Button&)
EnableWindow Checkbox&, 0
EnableWindow Button&, 0
CLS
Locate 12, 0
File$ = Gettext$(Edit&)
IF File$ <> ""
CLS
Locate 12, 0
Print "Versionsnummer der Datei: "
Print GetFileVersion(File$)
endif
EnableWindow Checkbox&, 1
EnableWindow Button&, 1
endif
EndWhile
Freedll version&
End
Proc GetFileVersion
Parameters File2$
Clear Version$
'Umleitung deaktivieren
IF (GetCheck(Checkbox&)) and 64Bit& = 1 : Set("FastMode", 1) : Call(Wow64DisableWow64FsRedirection&, addr(OldValue&)) : endif
FileInfoSize& = Call(GetFileVersionInfoSizeA&, ADDR(File2$), ADDR(Zero&))
IF FileInfoSize& > 0
DIM MODULEINFO#, FileInfoSize&
FILE_FEHLER& = Call(GetFileVersionInfoA&, ADDR(File2$), 0, FileInfoSize&, MODULEINFO#)
'Umleitung aktivieren
IF (GetCheck(Checkbox&)) and 64Bit& = 1 : Call(Wow64EnableWow64FsRedirection&, addr(OldValue&)) : Set("FastMode", 0) : endif
Ver_Value$ = "\\"
FEHLER& = VerQueryValue(MODULEINFO#, ADDR(Ver_Value$), ADDR(FILE_VER_INFO&), ADDR(Zero&))
If FEHLER& = 1
If Zero& = 0
Zero& = 4
endif
DIM FILE_VER_INFO#, Zero&
Clear FILE_VER_INFO#
FILE_VER_INFO# = FILE_VER_INFO&
VERSION$ = STR$(Word(FILE_VER_INFO#, 10)) + ", "
VERSION$ = Version$ + STR$(Word(FILE_VER_INFO#, 8)) + ", "
VERSION$ = Version$ + STR$(Word(FILE_VER_INFO#, 14)) + ", "
VERSION$ = Version$ + STR$(Word(FILE_VER_INFO#, 12))
Dispose FILE_VER_INFO#
endif
Dispose MODULEINFO#
endif
'Umleitung aktivieren
'IF (GetCheck(Checkbox&)) and 64Bit& = 1 : Call(Wow64EnableWow64FsRedirection&, addr(OldValue&)) : Set("FastMode", 0) : endif
Return Version$
endproc
Alles anzeigen
Hier die Testdatei als EXE zum Downloaden.