Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Lenovo ThinkPad X1 Carbon Gen 14: il business ultraleggero si rinnova dall’interno
Lenovo ThinkPad X1 Carbon Gen 14: il business ultraleggero si rinnova dall’interno
Con la quattordicesima generazione Lenovo ridisegna il suo ThinkPad più iconico attorno al nuovo Space Frame e ai processori Intel Core Ultra Series 3. Resta sotto 1Kg, è molto più semplice da riparare e si rivolge al professionista che lavora in mobilità, con un prezzo da prodotto di vertice.
Jabra Evolve3 85: le cuffie sia per l'intrattenimento che per il lavoro
Jabra Evolve3 85: le cuffie sia per l'intrattenimento che per il lavoro
Le Jabra Evolve3 85 non sono semplicemente cuffie Bluetooth con cancellazione del rumore. Sono un dispositivo professionale pensato per chi trascorre gran parte della giornata in riunione, al telefono o davanti a un assistente basato sull'intelligenza artificiale
MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB per far girare in locale anche i modelli più grandi
MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB per far girare in locale anche i modelli più grandi
Abbiamo provato MSI PRO MAX EDGE AI+, un mini-PC professionale progettato per eseguire modelli di intelligenza artificiale in locale, senza dipendere dal cloud. Il sistema abbina il processore AMD Ryzen AI Max+ 395, 128 GB di memoria unificata e un telaio in alluminio da appena 4 litri, con l'obiettivo di offrire capacità di elaborazione elevate in un formato compatto.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 06-02-2012, 16:33   #1
tecno789
Senior Member
 
L'Avatar di tecno789
 
Iscritto dal: Jan 2010
Città: (MB)
Messaggi: 11971
[C] confrontare file nella cartella utente windows

Ebbene sono tornato sotto windows perchè mi serve un semplice programmino che deve controllare che un file ci sia sotto la cartella dell'utente.

ESEMPIO :

c:/users/NOME/AppData/ecc

il problema è : come faccio a farlo girare sotto ogni utente, se il nome utente varia da computer a computer??
__________________
CPU: Ryzen 3700x DISSY: CM HYPER EVO 212 RAM: 16gb DDR4 3000Mhz MOBO: MSI b350 tomahawk VGA: MSI Ventus 2X 4060TI 16GB ALI: Cooler Master V550 SSD: Samsung 970 Evo Plus Trattive+:(a) topolino2808(x2), galfum, giap959, sm_morgan, Biduzzo, huangwei, maxmax80, bubbi, dinamite2, PaxNoctis;(v) rubrie, CubeDs, Slater91, Juvanni, FireFox152, gluvocio, giulio81, emahwupgrade, Velvet, semmy83, giocher03
tecno789 è offline   Rispondi citando il messaggio o parte di esso
Old 06-02-2012, 17:26   #2
ESSE-EFFE
Member
 
Iscritto dal: May 2009
Messaggi: 186
Quote:
Originariamente inviato da tecno789 Guarda i messaggi
Ebbene sono tornato sotto windows perchè mi serve un semplice programmino che deve controllare che un file ci sia sotto la cartella dell'utente.

ESEMPIO :

c:/users/NOME/AppData/ecc

il problema è : come faccio a farlo girare sotto ogni utente, se il nome utente varia da computer a computer??
Ricavi la giusta cartella mediante una funzione Shell (tipo SHGetSpecialFolderPath) e l'apposito CSIDL (CSIDL_APPDATA in questo caso): http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx.
__________________
ESSE-EFFE.com
Sviluppo software e Web
Creazione loghi - Bergamo
ESSE-EFFE è offline   Rispondi citando il messaggio o parte di esso
Old 06-02-2012, 17:38   #3
tecno789
Senior Member
 
L'Avatar di tecno789
 
Iscritto dal: Jan 2010
Città: (MB)
Messaggi: 11971
Quote:
Originariamente inviato da ESSE-EFFE Guarda i messaggi
Ricavi la giusta cartella mediante una funzione Shell (tipo SHGetSpecialFolderPath) e l'apposito CSIDL (CSIDL_APPDATA in questo caso): http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx.
praticamente è solo il nome dell'utente che varia, ti confesso che però ho provato ad implementarla ma non mi funziona.
__________________
CPU: Ryzen 3700x DISSY: CM HYPER EVO 212 RAM: 16gb DDR4 3000Mhz MOBO: MSI b350 tomahawk VGA: MSI Ventus 2X 4060TI 16GB ALI: Cooler Master V550 SSD: Samsung 970 Evo Plus Trattive+:(a) topolino2808(x2), galfum, giap959, sm_morgan, Biduzzo, huangwei, maxmax80, bubbi, dinamite2, PaxNoctis;(v) rubrie, CubeDs, Slater91, Juvanni, FireFox152, gluvocio, giulio81, emahwupgrade, Velvet, semmy83, giocher03
tecno789 è offline   Rispondi citando il messaggio o parte di esso
Old 06-02-2012, 17:42   #4
ESSE-EFFE
Member
 
Iscritto dal: May 2009
Messaggi: 186
Quote:
Originariamente inviato da tecno789 Guarda i messaggi
praticamente è solo il nome dell'utente che varia, ti confesso che però ho provato ad implementarla ma non mi funziona.
Non funziona... cioè? Mostra il codice e spiega il problema...
__________________
ESSE-EFFE.com
Sviluppo software e Web
Creazione loghi - Bergamo
ESSE-EFFE è offline   Rispondi citando il messaggio o parte di esso
Old 06-02-2012, 17:47   #5
tecno789
Senior Member
 
L'Avatar di tecno789
 
Iscritto dal: Jan 2010
Città: (MB)
Messaggi: 11971
Quote:
Originariamente inviato da ESSE-EFFE Guarda i messaggi
Non funziona... cioè? Mostra il codice e spiega il problema...
nel senso che io sono abituato a scrivere programmi in C puro lineare e semplice, non so come implementare quella determinata sintassi.
__________________
CPU: Ryzen 3700x DISSY: CM HYPER EVO 212 RAM: 16gb DDR4 3000Mhz MOBO: MSI b350 tomahawk VGA: MSI Ventus 2X 4060TI 16GB ALI: Cooler Master V550 SSD: Samsung 970 Evo Plus Trattive+:(a) topolino2808(x2), galfum, giap959, sm_morgan, Biduzzo, huangwei, maxmax80, bubbi, dinamite2, PaxNoctis;(v) rubrie, CubeDs, Slater91, Juvanni, FireFox152, gluvocio, giulio81, emahwupgrade, Velvet, semmy83, giocher03
tecno789 è offline   Rispondi citando il messaggio o parte di esso
Old 06-02-2012, 17:57   #6
ESSE-EFFE
Member
 
Iscritto dal: May 2009
Messaggi: 186
Quote:
Originariamente inviato da tecno789 Guarda i messaggi
nel senso che io sono abituato a scrivere programmi in C puro lineare e semplice, non so come implementare quella determinata sintassi.
Sì beh, ma è solo una funzione da richiamare, come se fosse una funzione C. Solo che quello che ti serve è specifico di Windows, quindi sei costretto ad utilizzare quella funzione (o una similare) che fa parte delle API di Windows appunto. Non credo ci sia un altro sistema. Anche se volessi ricavare solo il nome dell'utente, ti serve una funzione delle API. Comunque prima hai detto che hai provato ad implementarla, quindi immaginavo che avessi scritto qualcosa...
__________________
ESSE-EFFE.com
Sviluppo software e Web
Creazione loghi - Bergamo
ESSE-EFFE è offline   Rispondi citando il messaggio o parte di esso
Old 06-02-2012, 18:07   #7
tecno789
Senior Member
 
L'Avatar di tecno789
 
Iscritto dal: Jan 2010
Città: (MB)
Messaggi: 11971
Quote:
Originariamente inviato da ESSE-EFFE Guarda i messaggi
Sì beh, ma è solo una funzione da richiamare, come se fosse una funzione C. Solo che quello che ti serve è specifico di Windows, quindi sei costretto ad utilizzare quella funzione (o una similare) che fa parte delle API di Windows appunto. Non credo ci sia un altro sistema. Anche se volessi ricavare solo il nome dell'utente, ti serve una funzione delle API. Comunque prima hai detto che hai provato ad implementarla, quindi immaginavo che avessi scritto qualcosa...
Codice:
BOOL SHGetSpecialFolderPath(
  HWND hwndOwner,
  __out  LPTSTR lpszPath,
  __in   int csidl,
  __in   BOOL fCreate
);

def GetSpecialFolderPath(csidl_Appdata):
    return shell.SHGetSpecialFolderPath(0, csidl, 0)

if((fp=fopen("c:/Users//AppData/LocalLow/","r"))== NULL){

ecc....
__________________
CPU: Ryzen 3700x DISSY: CM HYPER EVO 212 RAM: 16gb DDR4 3000Mhz MOBO: MSI b350 tomahawk VGA: MSI Ventus 2X 4060TI 16GB ALI: Cooler Master V550 SSD: Samsung 970 Evo Plus Trattive+:(a) topolino2808(x2), galfum, giap959, sm_morgan, Biduzzo, huangwei, maxmax80, bubbi, dinamite2, PaxNoctis;(v) rubrie, CubeDs, Slater91, Juvanni, FireFox152, gluvocio, giulio81, emahwupgrade, Velvet, semmy83, giocher03
tecno789 è offline   Rispondi citando il messaggio o parte di esso
Old 06-02-2012, 23:26   #8
ESSE-EFFE
Member
 
Iscritto dal: May 2009
Messaggi: 186
Quote:
Originariamente inviato da tecno789 Guarda i messaggi
Codice:
BOOL SHGetSpecialFolderPath(
  HWND hwndOwner,
  __out  LPTSTR lpszPath,
  __in   int csidl,
  __in   BOOL fCreate
);

def GetSpecialFolderPath(csidl_Appdata):
    return shell.SHGetSpecialFolderPath(0, csidl, 0)

if((fp=fopen("c:/Users//AppData/LocalLow/","r"))== NULL){

ecc....
Non serve definire la funzione, deve essere già inclusa nell'SDK che usi oppure devi eseguire un link dinamico alla Shell32.dll (che la contiene).

La parte che ho evidenziato in rosso direi che non è C e non vedo a cosa serva.

Inoltre la funzione non la usi da nessuna parte, non hai nemmeno allocato il buffer che conterrà la cartella richiesta...
__________________
ESSE-EFFE.com
Sviluppo software e Web
Creazione loghi - Bergamo
ESSE-EFFE è offline   Rispondi citando il messaggio o parte di esso
Old 06-02-2012, 23:45   #9
tecno789
Senior Member
 
L'Avatar di tecno789
 
Iscritto dal: Jan 2010
Città: (MB)
Messaggi: 11971
Quote:
Originariamente inviato da ESSE-EFFE Guarda i messaggi
Non serve definire la funzione, deve essere già inclusa nell'SDK che usi oppure devi eseguire un link dinamico alla Shell32.dll (che la contiene).

La parte che ho evidenziato in rosso direi che non è C e non vedo a cosa serva.

Inoltre la funzione non la usi da nessuna parte, non hai nemmeno allocato il buffer che conterrà la cartella richiesta...
te l'avevo detto che non riuscivo....
perchè:
1.) non so come eseguire un link dinamico( what?? )
2.) la parte l'ho praticamente incollata dal sito che mi hai linkato
3.) non so allocare buffer per cartelle, ma so operare fino ai file.
__________________
CPU: Ryzen 3700x DISSY: CM HYPER EVO 212 RAM: 16gb DDR4 3000Mhz MOBO: MSI b350 tomahawk VGA: MSI Ventus 2X 4060TI 16GB ALI: Cooler Master V550 SSD: Samsung 970 Evo Plus Trattive+:(a) topolino2808(x2), galfum, giap959, sm_morgan, Biduzzo, huangwei, maxmax80, bubbi, dinamite2, PaxNoctis;(v) rubrie, CubeDs, Slater91, Juvanni, FireFox152, gluvocio, giulio81, emahwupgrade, Velvet, semmy83, giocher03
tecno789 è offline   Rispondi citando il messaggio o parte di esso
Old 06-02-2012, 23:51   #10
ESSE-EFFE
Member
 
Iscritto dal: May 2009
Messaggi: 186
Quote:
Originariamente inviato da tecno789 Guarda i messaggi
te l'avevo detto che non riuscivo....
perchè:
1.) non so come eseguire un link dinamico( what?? )
2.) la parte l'ho praticamente incollata dal sito che mi hai linkato
3.) non so allocare buffer per cartelle, ma so operare fino ai file.
Sì, d'accordo, ma non hai neanche usato la funzione, come puoi sperare che vada? Poi perdonami, ma se non sai allocare un buffer forse ti conviene partire con qualcosa di più semplice, altrimenti aiutarti è piuttosto difficile...
__________________
ESSE-EFFE.com
Sviluppo software e Web
Creazione loghi - Bergamo
ESSE-EFFE è offline   Rispondi citando il messaggio o parte di esso
Old 09-02-2012, 15:21   #11
tecno789
Senior Member
 
L'Avatar di tecno789
 
Iscritto dal: Jan 2010
Città: (MB)
Messaggi: 11971
Quote:
Originariamente inviato da ESSE-EFFE Guarda i messaggi
Sì, d'accordo, ma non hai neanche usato la funzione, come puoi sperare che vada? Poi perdonami, ma se non sai allocare un buffer forse ti conviene partire con qualcosa di più semplice, altrimenti aiutarti è piuttosto difficile...
si so allocare memoria, ma non di una cartella....perdonami...
__________________
CPU: Ryzen 3700x DISSY: CM HYPER EVO 212 RAM: 16gb DDR4 3000Mhz MOBO: MSI b350 tomahawk VGA: MSI Ventus 2X 4060TI 16GB ALI: Cooler Master V550 SSD: Samsung 970 Evo Plus Trattive+:(a) topolino2808(x2), galfum, giap959, sm_morgan, Biduzzo, huangwei, maxmax80, bubbi, dinamite2, PaxNoctis;(v) rubrie, CubeDs, Slater91, Juvanni, FireFox152, gluvocio, giulio81, emahwupgrade, Velvet, semmy83, giocher03
tecno789 è offline   Rispondi citando il messaggio o parte di esso
Old 09-02-2012, 15:57   #12
ESSE-EFFE
Member
 
Iscritto dal: May 2009
Messaggi: 186
Quote:
Originariamente inviato da tecno789 Guarda i messaggi
si so allocare memoria, ma non di una cartella....perdonami...
Ma non devi allocare la "memoria di una cartella", mi riferivo alla memoria dove la SHGetSpecialFolderPath andrà a scrivere il percorso che devi analizzare. Un banale array di caratteri insomma, in questo caso char percorso[MAX_PATH + 1] ad esempio. E poi c'è tutto il resto che ti ho spiegato...
__________________
ESSE-EFFE.com
Sviluppo software e Web
Creazione loghi - Bergamo
ESSE-EFFE è offline   Rispondi citando il messaggio o parte di esso
Old 09-02-2012, 18:52   #13
tecno789
Senior Member
 
L'Avatar di tecno789
 
Iscritto dal: Jan 2010
Città: (MB)
Messaggi: 11971
Quote:
Originariamente inviato da ESSE-EFFE Guarda i messaggi
Ma non devi allocare la "memoria di una cartella", mi riferivo alla memoria dove la SHGetSpecialFolderPath andrà a scrivere il percorso che devi analizzare. Un banale array di caratteri insomma, in questo caso char percorso[MAX_PATH + 1] ad esempio. E poi c'è tutto il resto che ti ho spiegato...
fino a lì ci sono, ma perdonami, avrò la testa dura, ma non ho ancora capito come implementare quella determinata funzione. Ti chiedo troppo se mi fai vedere un esempietto stupido??

grazie
__________________
CPU: Ryzen 3700x DISSY: CM HYPER EVO 212 RAM: 16gb DDR4 3000Mhz MOBO: MSI b350 tomahawk VGA: MSI Ventus 2X 4060TI 16GB ALI: Cooler Master V550 SSD: Samsung 970 Evo Plus Trattive+:(a) topolino2808(x2), galfum, giap959, sm_morgan, Biduzzo, huangwei, maxmax80, bubbi, dinamite2, PaxNoctis;(v) rubrie, CubeDs, Slater91, Juvanni, FireFox152, gluvocio, giulio81, emahwupgrade, Velvet, semmy83, giocher03
tecno789 è offline   Rispondi citando il messaggio o parte di esso
Old 09-02-2012, 20:21   #14
ESSE-EFFE
Member
 
Iscritto dal: May 2009
Messaggi: 186
Quote:
Originariamente inviato da tecno789 Guarda i messaggi
fino a lì ci sono, ma perdonami, avrò la testa dura, ma non ho ancora capito come implementare quella determinata funzione. Ti chiedo troppo se mi fai vedere un esempietto stupido??
grazie
Esempi di uso della SHGetSpecialFolderPath sul Web ne trovi quanti ne vuoi... http://lmgtfy.com/?q=SHGetSpecialFolderPath+example
__________________
ESSE-EFFE.com
Sviluppo software e Web
Creazione loghi - Bergamo
ESSE-EFFE è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Lenovo ThinkPad X1 Carbon Gen 14: il business ultraleggero si rinnova dall’interno Lenovo ThinkPad X1 Carbon Gen 14: il business ul...
Jabra Evolve3 85: le cuffie sia per l'intrattenimento che per il lavoro Jabra Evolve3 85: le cuffie sia per l'intratteni...
MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB per far girare in locale anche i modelli più grandi MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB...
Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista Recensione vivo X500 Pro Max: la fotografia mobi...
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà WoW Forever: la beta è stato uno dei mome...
L'app Xbox per PC cambia e diventa molto...
Symantec CBX: dagli endpoint ai dati, la...
Hard disk, prezzi alle stelle ma non su ...
Nothing Phone (3) a soli 474€ su AliExpr...
Windows 11, Windows Hello si illumina da...
Dal cemento autodiagnostico al visore sa...
SSD Gen.3 e 4 su AliExpress: si risparmi...
DJI Neo 2 su AliExpress a 165€ (su Amazo...
Meike, 58mm f/1.2 da ritratto per APS-C:...
Le nostre case consumano troppo: come ri...
Un po' iPhone, un po' Xiaomi: HONOR ha s...
PCSpecialist Black Friday 2026: cinque P...
Asahi Linux accusa: codice copiato e rip...
Energica torna in vita: moto elettriche ...
OpenAI incassa altri miliardi, ma qualco...
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: 12:37.


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