Η σελίδα μας αναβαθμίστηκε, γι' αυτό τον λόγο τα μέλη μας θα πρέπει να ζητήσουν νέο κωδικό πρόσβασης από την υπηρεσία "Αποστολή κωδικού πρόσβασης".
Εάν το email με τον νέο κωδικό δεν έρθει στο inbox κοιτάξτε και στο spam folder. Ο server είναι φρέσκος και δεν έχει το reputation που του αξίζει.

Windows Clipboard

Συζητήσεις για την γλώσσα C και C++

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
cocoflop
Δημοσιεύσεις: 46
Εγγραφή: 23 Αύγ 2007 19:51

Windows Clipboard

Δημοσίευση από cocoflop » 26 Ιούλ 2010 03:46

Το πρόγραμμα που φτιάχνω το φτιάχνω με C#, θα ήθελα να με βοηθήσετε σε ότι αφορά το Windows API (σε περίπτωση που το έχετε δουλέψει και γνωρίζετε).

Θέλω να φτιάξω ένα πρόγραμμα με το οποίο όταν θα πατάω το Ctrl+V θα γίνεται επικόλληση ένας τυχαίος αριθμός από το 1 μέχρι 5.

Βρήκα πως να διαβάσω και να γράψω στο Clipboard.
Βρήκα πως να διαβάζω το πάτημα Ctrl+V του χρήστη (μόνο keyboard με ενδιαφέρει), έχω χρησιμοποιήσει την RegisterHotkeys.

Το πρόβλημα που αντιμετωπίζω τώρα είναι ότι όταν πατάω το Ctrl+V η λειτουργία υπάρχει μόνο στο πρόγραμμα μου, όχι όμως στα Windows (είναι σαν να έκλεψε η εφαρμογή μου το Ctrl+V από τα Windows). Όταν κλείσω την εφαρμογή μου τότε η λειτουργία επικόλλησης επιστρέφει στα Windows.

Aυτό που θέλω να κάνω είναι:
1. η εφαρμογή μου να διαβάζει το Ctrl+V
2. να αλλάζει το περιεχόμενο του Clipboard
3. να ενεργοποιείται το event επικόλλησης στα Windows.
Λέτε να γίνεται κάτι τέτοιο (χωρίς όμως να χακάρω προτεραιότητα των processes, μόνο βάσει WinAPI); Μήπως πρέπει να ενεργοποιώ το Event επικόλλησης εγώ (πως μπορώ να κάνω Invoke το event επικόλλησης προγραμματιστικά;).

papi1
Δημοσιεύσεις: 8
Εγγραφή: 01 Φεβ 2009 12:58

Windows Clipboard

Δημοσίευση από papi1 » 01 Αύγ 2010 19:10

Βρες μια υλοποιηση του SetWindowHook
tip1: hook id 13
tip2: instance βαζεις intptr.zero και threadid 0 για να κανεις global catch

Οταν πατηθει ctrl+x ή ctrl+c τσεκαρεις το clipboard (το οποιο υπαρχει σα κλαση στο .net) αν τα δεδομενα ειναι text, αν ναι τοτε βαζεις στο clipboard αυτο που θελεις.

cocoflop
Δημοσιεύσεις: 46
Εγγραφή: 23 Αύγ 2007 19:51

Windows Clipboard

Δημοσίευση από cocoflop » 04 Αύγ 2010 14:58

ΟΚ, αυτό με το global catch πολύ καλό ακούγεται (διότι πιθανώς τα shortcuts θα λειτουργούν παντού, και σε λειτουργικό σύστημα αλλά και σε εφαρμογή).

Θα ξεκινήσω τα πειράματα περί SetWindowHook και θα ενημερώσω για τα αποτέλεσματα.

Απάντηση

Επιστροφή στο “C, C++”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες