Torna indietro   Hardware Upgrade Forum > Software > Programmazione

iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile
iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile
C'è tanta sostanza nel nuovo smartphone della Mela dedicato ai creator digitali. Nuovo telaio in alluminio, sistema di raffreddamento vapor chamber e tre fotocamere da 48 megapixel: non è un semplice smartphone, ma uno studio di produzione digitale on-the-go
Intel Panther Lake: i processori per i notebook del 2026
Intel Panther Lake: i processori per i notebook del 2026
Panther Lake è il nome in codice della prossima generazione di processori Intel Core Ultra, che vedremo al debutto da inizio 2026 nei notebook e nei sistemi desktop più compatti. Nuovi core, nuove GPU e soprattutto una struttura a tile che vede per la prima volta l'utilizzo della tecnologia produttiva Intel 18A: tanta potenza in più, ma senza perdere in efficienza
Intel Xeon 6+: è tempo di Clearwater Forest
Intel Xeon 6+: è tempo di Clearwater Forest
Intel ha annunciato la prossima generazione di processori Xeon dotati di E-Core, quelli per la massima efficienza energetica e densità di elaborazione. Grazie al processo produttivo Intel 18A, i core passano a un massimo di 288 per ogni socket, con aumento della potenza di calcolo e dell'efficienza complessiva.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 22-03-2008, 21:01   #1
girex
Junior Member
 
Iscritto dal: Mar 2008
Messaggi: 3
[C Winapi] Multi Clipboard

In pratica come dice la parola simula 9 diverse clipboard ognuna diversa dalle altre..

Il programma è quasi pronto ma non riesco ancora a risolvere due gravi problemi, descritti nei commenti del source...

in pratica sono 2:
non funziona il sendkeys
salvando del testo in una delle 9 clipboard
il contenuto delle altre viene corrotto...

http://www.evilsocket.net/nopaste/copy.php?key=5706424
girex è offline   Rispondi citando il messaggio o parte di esso
Old 22-03-2008, 22:43   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Scusa se lo dico ma ... il tuo sorgente è un pochino delirante. Innanzitutto hai fatto una applicazione "console" ma questo potrebbe ancora andare. Poi comunque usi la tecnica del "polling" per testare la condizione dei tasti. Già qui non è certo ottimale. Se ben ricordo (ora non ho voglia/tempo di andare a controllare sulla documentazione ufficiale), GetClipboardData() non ritorna un puntatore ma un HANDLE.
Vedo che usi SendInput per sintetizzare un tasto .... in genere sarebbe buona cosa sintetizzare anche il key up, non solo il key down.

Il tutto è condito da codice molto LOLloso del tipo:
send_clip_text(clipboard[i - 112], strlen(clipboard[i - 112]));

(non potevi mettere VK_F1 al posto di 112 e fare la strlen magari nella funzione??)

o peggio da una funzione set_null a cui passi addirittura un puntatore triplo a char ... io lavoro in "C" da 9 anni e credo di aver visto un char*** ben poche volte. Non ho esaminato a fondo il tuo sorgente ma penso proprio che quel char*** sia inutile e che potevi farlo in altro modo quel set_null.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 22-03-2008, 23:18   #3
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
quella funzione set_null deve averla scritta mentre era ubriaco

la riporto per intero, per la gioia dei lettori
Codice:
void set_null(char ***clipboard)
{
  int i = 0;
  for(i = 0; i < 9; i++)
  {
      memset(*clipboard[i], 0x00, strlen(*clipboard[i]));
      *clipboard[i] = NULL;
  }
}

non vorrei fare la figura del solito alienato, ma... che per caso a Pasqua è tradizione fare scherzi o roba simile, tipo pesce d'Aprile...?

no perché oggi è già la seconda BURLA pasquale che leggo sul forum; qui potete leggere la prima:
http://www.hwupgrade.it/forum/showthread.php?t=1706808
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 22-03-2008, 23:27   #4
girex
Junior Member
 
Iscritto dal: Mar 2008
Messaggi: 3
In primis ti rigrazio per il caloroso benvenuto, ebbene si era il mio primo post (o forse è proprio per questo che sei stato così poco ospitale?!).

2 - L'aplicazione è si una ConsoleApplication ma come hai ben potuto notare cè la funzione banner che nasconde la finestra per simulare il comportamento di un "demone"...

3 - Avrei preferito anch'io implementare il controllo dei tasti tramite la ricezione degli Interrupt della tastiera ma credo che sia più difficile o comunque non mi sono preoccupato di questo aspetto visto che i miei script vengono fatti per diletto (essendo minorenne non posso dedicarmi a lavori retribuiti).

4 - Cosa ti fa tanto ridere quel 112 al posto di VK_F1?
Sai che includendo la windows.h è completamente uguale scrivere 112 o VK_F1?

5 - Ho preferito passargli la lunghezza della stringa come parametro per questione di abitudine nient'altro. Senza dubbio è preferibile rispetto al mettere nella condizione del for i < strlen(str) in quanto si calcolerebbe la lunghezza di str ad ogni ciclo...

6 - In effetti si, quel set_null è mal implementato, ma non l'ho neanche provato e ripensandoci ci sono modi migliori per ottenere il risultato voluto..

7 - Complimenti lavori in C da 9 anni e sei un programmatore Java certificato senza dubbio sei qualificato.

8 - Nonostante ciò non credo tu abbia il diritto di sbeffeggiare (o almeno così ho interpretato io) un semplice user che chiede aiuto... anzi se sono sembrato uno di quelli chiedo aiuto sperando che mi risolvano tutto e io sto apposto e me ne vado chiedo IO scusa per primo, davvero, non volevo...

9 - Per la simulazione del SendKeys tramite il SendInput ho risolto con questa funzione :
VkKeyScan(clipboard[i])

10 - GetClipboardData ritornerà si un Handle, ma credo (dimmi se sbaglio, possibilissimo) che un HANDLE equivalga a un void* e quindi con un semplice cast ottengo l'equivalente stringa di testo della clipboard (e in effetti, funziona).

11 - Rimane ancora il problema che le altre clipboard al salvataggio di una si corrompono...

12 - AAArgh dimenticavo, non sintetizzo la keyup del tasto perchè non pensavo si dovesse fare (pensavo male) perchè a differenza del comportamento di keybd_event a me non sembra che il tasto rimanga premuto, in quando spara il testo e si ferma, non continua a sparare sempre le stesse lettere... (ripeto, pensavo male)

Con questo me ne vado, non vorrei essere sembrato offensivo, ma io si, mi sono sentito offeso nella lettura del tuo post.
Sarai anche più esperto di me, ma questo non ti dà la briga di sbeffeggiarmi...

Saluti!

Ultima modifica di girex : 22-03-2008 alle 23:35. Motivo: dimenticavo il punto 12
girex è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile iPhone 17 Pro: più di uno smartphone. &Eg...
Intel Panther Lake: i processori per i notebook del 2026 Intel Panther Lake: i processori per i notebook ...
Intel Xeon 6+: è tempo di Clearwater Forest Intel Xeon 6+: è tempo di Clearwater Fore...
4K a 160Hz o Full HD a 320Hz? Titan Army P2712V, a un prezzo molto basso 4K a 160Hz o Full HD a 320Hz? Titan Army P2712V,...
Recensione Google Pixel Watch 4: basta sollevarlo e si ha Gemini sempre al polso Recensione Google Pixel Watch 4: basta sollevarl...
Un solo iPhone rubato ha portato alla sc...
Xiaomi 17 Ultra sta arrivando: ecco come...
Il Motorola Edge 70 non ha più se...
Alcuni Galaxy S26 utilizzeranno il chip ...
Amazon, ecco i super sconti del weekend:...
Scovare un bug di sicurezza sui disposit...
Offerta Amazon su NordVPN: proteggi 10 d...
ECOVACS DEEBOT X8 PRO OMNI in offerta su...
Scope elettriche Tineco in offerta su Am...
Offerta Amazon sui robot EUREKA J15 Ultr...
Chrome disattiverà automaticament...
Tornano tutti e 4 i colori disponibili p...
Super sconto su iPhone 16: Amazon abbass...
Sconto pazzesco sulle Blink: videocamere...
Ring ancora in forte sconto, 35,99€ (-64...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 14:42.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v