PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 2024 → Désactiver CTRL+C
Désactiver CTRL+C
Started by jean.pierre.bloch, Jul., 13 2024 9:57 AM - 8 replies
Registered member
2,054 messages
Posted on July, 13 2024 - 9:57 AM
Bonjour,

Je voudrais temporairement désactiver (puis réactiver) les touches CTRL+C et CTRL+V dans Windows (pas que dans mon programme) par programmation.
Merci de votre aide.
Bon weekend.

--
Bon dev,
Jean-Pierre
Registered member
3,450 messages
Posted on July, 13 2024 - 2:10 PM
Salut
Le plus simple c'est de désactiver le presse papier
https://community.acer.com/fr/kb/articles/15386-comment-activer-ou-desactiver-le-presse-papiers-dans-windows-11
Après reste plus qu'à trouver l'équivalent au niveau des
- Stratégie système
- batch dos
- batch PowerShell
Registered member
2,054 messages
Posted on July, 13 2024 - 2:33 PM
Bonjour,

Merci Popoy pour la piste.
Cela correspond "presque" à ce que je recherche.

Pour entrer dans le détail, mon programme effectue des TRES GROS copier/coller OLE et je n'ai pas l'historique des copier activé (cela crée dans ce cas des problèmes de performance).
Si jamais l'utilisateur effectue un copier (CTRL+C), il écrase le copier en cours du programme !

J'ai peur que ta suggestion empêche le programme de fonctionner...
Mais je vais tester :merci:

NB : J'ai regarder les Paramètres Windows : on peut désactiver l'Historique, PAS le Presse-papier !

--
Bon dev,
Jean-Pierre
Message modified, July, 13 2024 - 2:50 PM
Registered member
4,111 messages
Posted on July, 13 2024 - 9:54 PM
Bonjour,
Jean-Pierre a écrit :
Si jamais l'utilisateur effectue un copier (CTRL+C), il écrase le copier en cours du programme !

Empêcher l'utilisateur de Windows d'utiliser ses fonctionnalités risque d'être un peu gênant non ?
As tu songé à la possibilité d'utiliser autre chose que le presse papier pour transférer tes données ?

--
Il y a peut être plus simple, mais, ça tourne
Registered member
3,450 messages
Posted on July, 14 2024 - 9:33 AM
Salut
D'accord avec @Voroltinquo
Il faudrait réfléchir à une autre solution et revoir ton code OLE
Registered member
2,054 messages
Posted on July, 14 2024 - 11:00 AM
Bonjour Voroltinquo et Popoy,

Difficile de changer mon code :
Je lis un TRES gros fichier Word dont je transfère les données (marquées par signets) dans 14 fichiers Excel (cf. limitations Excel à coller des dizaines de milliers de lignes et machine Windows pas forcément très puissante - je suis retraité maintenant 8) ).
Le traitement dure 8 minutes pendant lesquelles il ne faut absolument pas utiliser le Copier au risque de perturber le traitement, ou le Coller au risque de me retrouver avec un énorme paquet.

J'ai beau avoir mis un message d'alerte, je suis un homme pressé... ;).

S'il n'y a pas de solution "simple", je continue comme avant.

Merci à tous les deux pour vos conseils.

--
Bon dev,
Jean-Pierre
Registered member
4,111 messages
Posted on July, 14 2024 - 1:28 PM
Si tes données sont marquées par des signets, tu peut avoir accès au contenu des docFragment associés (en déboitant la matriochka,) contenu que tu peux transférer vers ton classeur via une affectation de type.
MonClasseur[Colonne,Ligne]=Valeur

Note : Il sera peut être utile d'utiliser la fonction xlsCoordonnéesVersNom

Tu peux même regarder du côté de HImporteTexte/HExporteXLS avec un DocVersTexte préalable ou via la propriété Texte des docElément associés
--
Il y a peut être plus simple, mais, ça tourne.
Quand tout a échoué utilise l'option RTFM
Message modified, July, 14 2024 - 1:54 PM
Registered member
4,111 messages
Posted on July, 14 2024 - 5:47 PM
Si malgré tout tu désires schunter Ctrl+C, je te conseille de regarder du côté des API SetWindowsHookExA pour mettre en place la capture et CallNextHookEx à insérer dans la procédure de raccordement.
... et bien entendu UnhookWindowsHookEx

--
Il y a peut être plus simple, mais, ça tourne.
Quand tout a échoué utilise l'option RTFM.
Message modified, July, 14 2024 - 5:50 PM
Registered member
2,054 messages
Posted on July, 15 2024 - 8:51 AM
Bonjour Voroltinquo,

J'ai essayé d'ouvrir mon fichier avec WD Docs, il tourne encore... :D
Donc j'ai abandonné les fonctions WD natives.

Quant aux API, c'est sûrement la solution mais bien au-dessus de mes capacités ;(

Problème gênant mais pas bloquant !
Je vais vivre avec.

Encore merci.

--
Bon dev,
Jean-Pierre