fixer des raccourcis
fixer des raccourcis
Salut, je cherche un moyen de fixer des raccourcis que je pourrais exécuté où que je sois dans Windows et pas seulement dans la fenêtre de mon soft.
Par exemples je veux que quand je fais : insert+espace, un message s’affiche que je sois dans Firefox, dans Word, dans l’explorateur, ETC…
J'ai vue des trucs sur les hooks de Windows, mais comment les utiliser en purebasic?
Merci d'avance!
Par exemples je veux que quand je fais : insert+espace, un message s’affiche que je sois dans Firefox, dans Word, dans l’explorateur, ETC…
J'ai vue des trucs sur les hooks de Windows, mais comment les utiliser en purebasic?
Merci d'avance!
Te prends pas la tête, fais une appli avec tes raccourcis et rend la invisible, tournant en arrière plan.
Quand tous les glands seront tombés, les feuilles dispersées, la vigueur retombée... Dans la morne solitude, ancré au coeur de ses racines, c'est de sa force maturité qu'il renaîtra en pleine magnificence...Jacobus.
J'ai déjà essayé
Salut, j'ai déjà essayé de faire ça, mais ça ne marche pas.
Voilà mon code:
Quand je fait ctrl+insert, rien ne se passe.
Voilà mon code:
Code : Tout sélectionner
If OpenWindow(0, 0, 0, 800, 600, "test", #PB_Window_Invisible)
WindowID = WindowID(0)
If CreateMenu(0, WindowID)
MenuTitle("&fichier")
MenuItem(0, "test")
EndIf
AddKeyboardShortcut(0, #PB_Shortcut_Control|#PB_Shortcut_Insert, 0)
Repeat
Select WaitWindowEvent()
Case #PB_Event_Menu
Select EventMenu()
Case 0
MessageRequester("OK", "Le raccourcis marche!", 0)
EndSelect
EndSelect
Until quit = 1
EndIf
End
Désolé mais il semble qu'on ne puisse pas utiliser les raccourcis d'une fenêtre cachée ou minimisée. J'ai fais quelques tests qui n'ont rien donné. D'un autre côté ça se comprend aussi, ça deviendrait vite le foutoir si chaque fenêtre invisible avait ses raccourcis fonctionnels.
Bon et bien tu peux te casser la tête alors
Bon et bien tu peux te casser la tête alors

Quand tous les glands seront tombés, les feuilles dispersées, la vigueur retombée... Dans la morne solitude, ancré au coeur de ses racines, c'est de sa force maturité qu'il renaîtra en pleine magnificence...Jacobus.
attends ! attends!Jacobus a écrit :Désolé mais il semble qu'on ne puisse pas utiliser les raccourcis d'une fenêtre cachée ou minimisée. J'ai fais quelques tests qui n'ont rien donné. D'un autre côté ça se comprend aussi, ça deviendrait vite le foutoir si chaque fenêtre invisible avait ses raccourcis fonctionnels.
Bon et bien tu peux te casser la tête alors

il me semble qu'une apli Purebasic peut savoir si elle a le Focus non ?
dans ce cas il suffirai de faire un ALT-TAB pour sélectionner sa fenêtre "invisible" ou en arrière plan, pour la faire passer devant en étant bien visible ..


lol marche pas
Salut, déjà éssayer.
Non je suis bien obligé de me casser la tête!
Donc si quelqu'un pourrais me dire comment marchent les hooks de Windows ça serai toujours kool!
Merci!
Non je suis bien obligé de me casser la tête!
Donc si quelqu'un pourrais me dire comment marchent les hooks de Windows ça serai toujours kool!
Merci!
L'idée de Dobro est quand même intéressante et peut-être qu'ajouter cette possibilité à PureBasic serait une fonction bien utile, pouvoir ouvrir une fenêtre par un raccourci, ça serait cool.
sinon meganet, un petit code pour te créer un popupmenu lanceur d'applications depuis le systray. Tu peux ainsi y mettre tout ce que tu veux. Bon c'est vrai que ça n'a rien à voir mais si ça peux t'aider pour une appli de lancement rapide.
sinon meganet, un petit code pour te créer un popupmenu lanceur d'applications depuis le systray. Tu peux ainsi y mettre tout ce que tu veux. Bon c'est vrai que ça n'a rien à voir mais si ça peux t'aider pour une appli de lancement rapide.
Code : Tout sélectionner
#PROG = "Meganet Window"
Procedure ExeLance(nomfenetre$) ; verif de l'etat de la fenêtre
F=FindWindow_(0, nomfenetre$)
If F<>0
ProcedureReturn 1 ; retourne 1 si détecté
Else
ProcedureReturn 0 ; retourne 0 si non détecté
EndIf
EndProcedure
Result=ExeLance(#PROG)
If Result=1
Handle=FindWindow_(#Null, #PROG)
ShowWindow_(Handle,#SW_HIDE)
ShowWindow_(Handle,#SW_MINIMIZE)
ShowWindow_(Handle,#SW_RESTORE)
End
EndIf
FlagWin = #PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_TitleBar|#PB_Window_ScreenCentered
If OpenWindow(0, 0, 0, 800, 600, #PROG, FlagWin );#PB_Window_Invisible)
WindowID = WindowID(0)
If CreatePopupMenu(0)
MenuItem(0, "Restaurer fenêtre principale")
MenuItem(1, "Démarrer Word")
MenuItem(2, "Mon compte bancaire")
MenuItem(3, "A propos de "+#PROG)
MenuBar()
MenuItem(4, "Quitter "+#PROG)
EndIf
If CreateMenu(1, WindowID)
MenuTitle("&fichier")
MenuItem(10, "MessageRequester")
MenuItem(11, "Quitter "+#PROG)
EndIf
AddKeyboardShortcut(0, #PB_Shortcut_Control|#PB_Shortcut_Insert, 10)
AddKeyboardShortcut(0, #PB_Shortcut_Control|#PB_Shortcut_C, 11)
EndIf
SystrayIcon = LoadImage(0, "ICONES\meganet.ico");<---- TON ICONE
AddSysTrayIcon(0, WindowID, SystrayIcon)
SysTrayIconToolTip (0, #PROG)
ShowWindow_(WindowID(0),#SW_HIDE) ; on minimise la fenêtre en la cachant
MinimizeWindow=#True
Quit.l=#False
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_SysTray
If EventType()=#PB_EventType_RightClick ; clic droit pour le popupmenu
DisplayPopupMenu(0, WindowID(0))
EndIf
If EventType()=#PB_EventType_LeftClick ; clic gauche sur l'icône pour restaurer la fenêtre
ShowWindow_(WindowID(0),#SW_MINIMIZE)
Delay(250)
ShowWindow_(WindowID(0),#SW_RESTORE)
MinimizeWindow=#False
EndIf
Case #PB_Event_Menu
Select EventMenu()
Case 0 ; restaure la fenêtre suivant son état
ShowWindow_(WindowID(0),#SW_MINIMIZE)
Delay(250)
ShowWindow_(WindowID(0),#SW_RESTORE)
MinimizeWindow=#False
Case 1 : MessageRequester("WORD", "Démarrer le traitement de texte", 0)
Case 2 : MessageRequester("Ma Banque", "Ouvrir mon compte", 0)
Case 3 : MessageRequester(#PROG, "Version Beta 1", 0)
Case 4 : Quit = #True
Case 10 : MessageRequester("OK", "Le raccourci marche!", 0)
Case 11 : Quit = #True ; ferme et quitte le prog
EndSelect
EndSelect
If Event = #PB_Event_CloseWindow And MinimizeWindow=#False ; clic sur la croix cache la fenêtre mais ne quitte pas le prog
ShowWindow_(WindowID(0),#SW_HIDE)
MinimizeWindow=#True
EndIf
Until Quit = #True
RemoveSysTrayIcon(0) ; supprime l'icône du systray
End
Quand tous les glands seront tombés, les feuilles dispersées, la vigueur retombée... Dans la morne solitude, ancré au coeur de ses racines, c'est de sa force maturité qu'il renaîtra en pleine magnificence...Jacobus.
pour utiliser les hook, sous Win32 c'est la fonction GetASync**** (quelquechose)
je cherches et j'édit
edit : GetASyncKeyState(param)
ou "param" est la touche en question (par exemple "échap" est VK_ESCAPE)
edit2 : hj'avais mis au "GetASyncKeyState" lieu de VK_ESCAPE
je cherches et j'édit
edit : GetASyncKeyState(param)
ou "param" est la touche en question (par exemple "échap" est VK_ESCAPE)
edit2 : hj'avais mis au "GetASyncKeyState" lieu de VK_ESCAPE
Dernière modification par minirop le mar. 10/avr./2007 12:38, modifié 1 fois.
Merci vai essayer
Salut, merci je m'envais essayer ça tout de suite.