Umstieg auf x64-Version

Anfängerfragen zum Programmieren mit PureBasic.
Angelo
Beiträge: 102
Registriert: 20.02.2010 14:47
Wohnort: Berlin

Umstieg auf x64-Version

Beitrag von Angelo »

Hallo,
mit dem Release von PB 4.50 und mit meinem Kauf eines Windows-7-Rechners bin ich auf die 64-Bit-Version umgestiegen. Aber gleich mein erstes Testprogramm, welches die Api-Funktion RegisterHotKey() benutzt, funktioniert nicht mehr, d. h. das Drücken der Hotkeys bewirkt nichts. Hier ist der Code. Wenn jemand eine Idee hat, woran das liegen könnte, wäre das toll!

Code: Alles auswählen

Global quit.b = #False
Global MyHotkeyA
Global MyHotkeyQ


Procedure MyHotkeyCallback(hwnd, msg, wParam, lParam)
  result = #PB_ProcessPureBasicEvents
  Select msg
      Case #WM_HOTKEY
         If wParam=MyHotkeyA
            MessageRequester("Info", "Buchstabe A wurde gedrückt!")
         EndIf
         ;
         If wParam =MyHotkeyQ
            MessageRequester("Info", "Buchstabe Q wurde gedrückt und Programm wird beendet!")
            quit = #True
         EndIf
  EndSelect
  ProcedureReturn result
EndProcedure

#window_0 = 0

OpenWindow(#window_0,200,200,600,400, "Test Hotkey", #PB_Window_SystemMenu)

MyHotkeyA = GlobalAddAtom_("HotA") 
MyHotkeyQ = GlobalAddAtom_("HotB")

RegisterHotKey_(WindowID(#window_0), MyHotkeyA, #Null, #VK_A) 
RegisterHotKey_(WindowID(#window_0), MyHotkeyQ, #Null, #VK_Q)

SetWindowCallback(@MyHotkeyCallback())

Repeat
    Event = WaitWindowEvent()
Until Event = #PB_Event_CloseWindow Or quit = #True
 
UnregisterHotKey_(WindowID(#window_0), MyHotkeyA)
UnregisterHotKey_(WindowID(#window_0), MyHotkeyQ)

End
PB 5.50; Win 7
- chris -
Beiträge: 195
Registriert: 24.08.2005 19:52
Wohnort: Stadtallendorf

Re: Umstieg auf x64-Version

Beitrag von - chris - »

Mit 64Bit funktioniert es bei mir, nur mit Unicode.
Mit 32Bit funktioniert es, mit und ohne Unicode.
PB v5.72 x86/x64
Windows 10 Pro 64bit
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Re: Umstieg auf x64-Version

Beitrag von edel »

Ein ATOM ist nur 2 Byte gross und nicht 4 oder gar 8 Byte.

Code: Alles auswählen

Global MyHotkeyA.w
Global MyHotkeyQ.w
Angelo
Beiträge: 102
Registriert: 20.02.2010 14:47
Wohnort: Berlin

Re: Umstieg auf x64-Version

Beitrag von Angelo »

@edel: Vielen Dank! Darauf wäre ich nie gekommen ....
PB 5.50; Win 7
Benutzeravatar
Mok
BotHunter
Beiträge: 1484
Registriert: 26.12.2005 14:14
Computerausstattung: MSI GX780R
Intel Core i5-2410M
Nvidia GT 555M
Windows 7 Home Premium 64 bit
Wohnort:   

Re: Umstieg auf x64-Version

Beitrag von Mok »

Mich wundert's trotzdem, dass es geht, es heißt ja Win32API, nicht Win64API... irgendjemand muss mir das jetzt erklären.
Win 7 Home Premium 64 bit | PureBasic 5.20 - x86 und x86-64 | Firefox [aktuelle stable-Version hier einfügen]
"Jeder macht irgendwann mal Fehler, darum gibt's auch Bleistifte mit Radiergummi." --Carl
Benutzeravatar
Thorium
Beiträge: 1722
Registriert: 12.06.2005 11:15
Wohnort: Germany
Kontaktdaten:

Re: Umstieg auf x64-Version

Beitrag von Thorium »

Mok hat geschrieben:Mich wundert's trotzdem, dass es geht, es heißt ja Win32API, nicht Win64API... irgendjemand muss mir das jetzt erklären.
Eigentlich heisst es nur WinAPI. :mrgreen:
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.

Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke! Bild
Benutzeravatar
Mok
BotHunter
Beiträge: 1484
Registriert: 26.12.2005 14:14
Computerausstattung: MSI GX780R
Intel Core i5-2410M
Nvidia GT 555M
Windows 7 Home Premium 64 bit
Wohnort:   

Re: Umstieg auf x64-Version

Beitrag von Mok »

Thorium hat geschrieben:
Mok hat geschrieben:Mich wundert's trotzdem, dass es geht, es heißt ja Win32API, nicht Win64API... irgendjemand muss mir das jetzt erklären.
Eigentlich heisst es nur WinAPI. :mrgreen:
Und die Hilfedatei hei0t Win32.hlp :?
Win 7 Home Premium 64 bit | PureBasic 5.20 - x86 und x86-64 | Firefox [aktuelle stable-Version hier einfügen]
"Jeder macht irgendwann mal Fehler, darum gibt's auch Bleistifte mit Radiergummi." --Carl
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Umstieg auf x64-Version

Beitrag von ts-soft »

Mok hat geschrieben:Und die Hilfedatei hei0t Win32.hlp :?
Die sollte eher Win9x_32.hlp heissen :bounce:
Das alte Ding wird seid Jahren nicht mehr unterstützt, genauso wie das
hlp - Format ansich.
Windows SDK Documentation heißt es, bzw. PSDK oder MSDN :wink:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Thorium
Beiträge: 1722
Registriert: 12.06.2005 11:15
Wohnort: Germany
Kontaktdaten:

Re: Umstieg auf x64-Version

Beitrag von Thorium »

Mok hat geschrieben:
Thorium hat geschrieben:
Mok hat geschrieben:Mich wundert's trotzdem, dass es geht, es heißt ja Win32API, nicht Win64API... irgendjemand muss mir das jetzt erklären.
Eigentlich heisst es nur WinAPI. :mrgreen:
Und die Hilfedatei hei0t Win32.hlp :?
Die ist ja auch veraltet und wird schon seid ewigkeiten nicht mehr von Microsoft unterstützt.
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.

Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke! Bild
Antworten