|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Aug 2006
Messaggi: 1262
|
programma limitatore
salve, avrei bisogno di sapere se esiste un programma ke possa limitare l'uso di un altro programma: vorrei poter limitare (ad es a 30 min al giorno) l'uso di messenger. Sapete se ci sono programmi simili? o avete idee su come potrei farlo da me? (ho competenze, non eccelze, in C).
grazie |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Feb 2002
Messaggi: 906
|
Quote:
1. fai un prg che gira in background time = 0 nel corso delle 24h 2. controlli nei task se è stato lanciato msn se si allora inizi a contare il tempo passato controllando con un timer, ogni se condo, se msn sempre in esecuzione. Se sempre in esecuzione prendi il tempo. Esempio msn è stato aperto 00h.11m.24s 3. Alla chiusura, te ne accorgi perchè nei task attivi non c'è +, registri il tempo ovvero 00h.11m.24s Ora di continuo in background ogni secondo controlli se msn è di nuovo aperto nei task attivi se si prendi il tempo 00h.11m.24s e riavvii il timer facendone la somma e se timer+00h.11m.24s > 30m "killi" msn dai task attivi. Ricordando anche che se passata la mezzanotte resetti nel file testo il tempo a 00h.00m.00s gli ingredienti sono: 1. il tempo durata e timer 2. controllo se nei task attivi in esecuzione c'è msn 3. controllo e registrazione dei tempi 4. killaggio dal task di msn se >30m ciao |
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Aug 2006
Messaggi: 1262
|
grazie x la dritta, solo ke come ho detto ho conoscenze d base d C. Come faccio ad es a lanciare un programma in background? e x killare un programma?
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Feb 2002
Messaggi: 906
|
ShowWindow(hwnd_finestra,SW_HIDE);
ti basta nascondere la finestra... tanto il tuo processo può stare nei task attivi mica devi hackerare la norad... bResult = SetDebugPrivileges(::GetCurrentProcess()); if (bResult == true) { DWORD dwProcessID; bResult = FindProcessID(_T("msn.EXE"), dwProcessID); if (bResult == true) bResult = KillProcess(dwProcessID, 0); così elimini il processo... ora cosa devi fare?... usare un timer per il ripristino e controllo dei minuti passati una var bool = true se esiste nei processi attivi msn.exe o come si chiama. Quindi devi enumerare i processi attivi coraggio butta giù un pò di code ora ): |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Aug 2006
Messaggi: 1262
|
ok grazie!!!
stasse provo a cervellarmi un po....e verranno sicuro fuori alter domande |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Aug 2006
Messaggi: 1262
|
ho provato x nascondere la finestra, ma mi nasconde solo la finestra windows, e nn la finestra dos. Premetto ke d win32 ne so poco niente, se mi faresti un es semplice, grazie
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Feb 2002
Messaggi: 906
|
fammi congetturare sul tuo code... posta un pò la finestra nascosta di windows e non la finestra dos.
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Aug 2006
Messaggi: 1262
|
ho semplicemente creato un dialogo con la libreria win32 e messo il codice hide.
BOOL CALLBACK unaDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) { if(uMsg==WM_CLOSE) { EndDialog(hwndDlg, 0); return TRUE; } return FALSE; } int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { HWND hwndDlg; ShowWindow(hwndDlg,SW_HIDE); return DialogBoxParam(0,"MioDialogo", 0,unaDlgProc,0); } qual é l'errore? poi avrei un altra domanda: qnd creo appunto un dialogo, si apre sempre una finestra dos, come faccio a toglierla? grazie (scusa l'ignoranza:P) |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Feb 2002
Messaggi: 906
|
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Aug 2006
Messaggi: 1262
|
ho riprovato e il problema é ke la finestra si nasconde, ma quella dos rimane!! come faccio a tojerla??
|
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: Feb 2002
Messaggi: 906
|
Quote:
Ti conviene creare una windows application e non console. Dove hai già pronti il ciclo per intercettare i messaggi e quantaltro serve. un pezzo di code della windows application Codice HTML:
BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
{
HWND hWnd;
hInst = hInstance; // Store instance handle in our global variable
hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);
if (!hWnd)
{
return FALSE;
}
// ShowWindow(hWnd, nCmdShow);//di default
ShowWindow(hWnd, SW_HIDE);//la finestra si nasconde
|
|
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Aug 2006
Messaggi: 1262
|
grazie!
sono riuscito a fare il mio semplice programmino. Mi chiedevo xo se esiste una funzione countdown, o devo crearmela da me? |
|
|
|
|
|
#13 | |
|
Junior Member
Iscritto dal: Jan 2011
Messaggi: 1
|
Programma limitatore dell'uso di un altro programma.
Quote:
Grazie anticipate e Buon Anno a tutti. |
|
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Aug 2006
Messaggi: 1262
|
salve!
il programma che avevo sviluppato girava su windows xp...ora non so con windows 7...poi era sviluppato in C...ed era abb complicato:P pero nn sarebbe difficile da adattare (semplicemente bisogna dire che applicazione chiudere dopo un tot di tempo). Ora purtroppo non ho qui il programma..se puoi farti risentire dopo questo lunedi (che finisco gli esami), che provo a cercare. ciao |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:46.




















