|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jan 2000
Messaggi: 551
|
Si potrebbe impedire uno screenshot?
Penso a tutto il lavoro che può aver fatto un designer per il suo logo e vederselo copiare con un semplicissimo sc.
A parte la tutela del copyright che funziona benissimo,ma se uno oscuro programmatore brasiliano si "fotte" il tuo logo come fai a saperlo? Mi erano venute in mente possibili alternative: catturare con un hook la chiamata al tasto stamp (mentre è attivo il tuo prog) e annullare il messaggio. C'è una api apposta che gestisce la memorizzazione del desktop-gdi etc ? |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Re: Si potrebbe impedire uno screenshot?
Quote:
Un hook di sistema non sul tasto stamp (altrimenti basterebbe usare i programmi appositi), ma sul messaggio che spedisce questo tasto...ora controllo... |
|
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Jan 2000
Messaggi: 551
|
Re: Re: Si potrebbe impedire uno screenshot?
Quote:
VK_SNAPSHOT però al momento l'hook mi funziona solo se la app di test ha il focus,altrimenti se premo il tasto da altre app me le manda in crash(il che non sarebbe di per se un male Resta da risolvere la possibilita di fare lo sc con del codice... mhm... mi viene in mente adesso che se è attiva la tua app, (nel caso lo splash screen con il logo)con un timer "stretto" si può continuare a svuotare la clipboard;però potrebbe salvarlo direttamente su una bitmap. Se interessa vedo di postare qualcosa domani. |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Sep 2001
Città: de_legato
Messaggi: 792
|
.....si ma questo non sarebbe prettamente "legale" .........fare queste zozzerie con il sistema operativo di chi usa il programma è alquanto scorretto!
....visto che ci sei perchè non cancelli anche il settore 0 dell'hd così gli fai crashare direttamente il pc e sicuramente il logo non te lo prende |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Frank1962: anche gli antivirus installano hook di sistema...quindi mi sembra ampliamente legale...
|
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
|
Quote:
__________________
Gnu/Linux User
|
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
|
e se cancellassi il buffer che contiene il logo dopo che è stato shootato?
__________________
Gnu/Linux User
|
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Jan 2000
Messaggi: 551
|
Quote:
Infatti questo ho fatto. |
|
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
Bisogna mettere un hook di sistema è cercare il logo allinterno del buffer per ogni screenshot e sostituirlo con altra roba... |
|
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
|
|
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Io farei una cosa del genere sui messaggi del sistema:
Codice:
HOOKPROC hkprcSysMsg; static HINSTANCE hinstDLL; static HHOOK hhookSysMsg; hinstDLL = LoadLibrary((LPCTSTR) "c:\\windows\\sysmsg.dll"); hkprcSysMsg = (HOOKPROC)GetProcAddress(hinstDLL, "SysMessageProc"); hhookSysMsg = SetWindowsHookEx(WH_SYSMSGFILTER,hkprcSysMsg,hinstDLL,0); Ultima modifica di cionci : 26-12-2003 alle 11:18. |
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Qui ne parlano...sembra un casino: http://www.experts-exchange.com/Prog..._20771005.html
|
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Anche questo ti può essere utile per ricevere l'hook sul tasto da ogni applicazione...
http://www.codeproject.com/clipboard...asp?print=true Comunque vale sempre il discorso che con i programmi che prendono la DC dello schermo e poi con BitBlt copiano il contenuto in una bitmap è impossibile impedire questa possibilità... |
|
|
|
|
|
#14 | |
|
Senior Member
Iscritto dal: Sep 2001
Città: de_legato
Messaggi: 792
|
Quote:
|
|
|
|
|
|
|
#15 | |
|
Senior Member
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
|
Quote:
__________________
Gnu/Linux User
|
|
|
|
|
|
|
#16 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
|
|
|
|
|
|
|
#17 |
|
Senior Member
Iscritto dal: Jan 2000
Messaggi: 551
|
Grazie per i links
Attenzione:funziona solo quando la app ha il focus,fa crashare qualunque programma dal quale si tenti di premere il tasto "stamp/print screen" Codice:
LRESULT __declspec(dllexport) CALLBACK KeyboardProc(
int nCode,
WPARAM wParam,
LPARAM lParam)
{
if (wParam==VK_SNAPSHOT)
{
MessageBox(NULL,"No screenshot","Finestra",MB_OK );
OpenClipboard(NULL);
EmptyClipboard();
return 1;
//return CallNextHookEx( hkb, nCode, wParam, lParam );
}
else return 0;
}
BOOL __declspec(dllexport) installhook()
{
hkb=SetWindowsHookEx(WH_KEYBOARD,(HOOKPROC)KeyboardProc,hins,0);
return TRUE;
}
BOOL __declspec(dllexport) UnHook()
{
BOOL unhooked = UnhookWindowsHookEx(hkb);
return unhooked;
}
Per gli hook globali si deve per forza fare così(variabili in segmenti shared:compresi gli handles agli hooks). Ultima modifica di verloc : 27-12-2003 alle 09:47. |
|
|
|
|
|
#18 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
La devi realizzare come DLL...è per quello che ti crash gli altri...
|
|
|
|
|
|
#19 |
|
Senior Member
Iscritto dal: Oct 2001
Messaggi: 11471
|
il logo è un'immagine giusto ? a questo punto se io apro il file eseguibile con un programma come hackres riesco a salvare il file tranquillamente anche senza usare il tasto stamp ?
ciao |
|
|
|
|
|
#20 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Per quello basta codificare l'immagine dentro ad un vettore...
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 10:42.



















