Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

adrese specijalnih foldera u windows-u

[es] :: C/C++ programiranje :: adrese specijalnih foldera u windows-u

[ Pregleda: 1819 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

IDE

Član broj: 53403
Poruke: 586
*.crnagora.net.



Profil

icon adrese specijalnih foldera u windows-u07.01.2006. u 23:11 - pre 222 meseci
dakle, interesuje me kako naci adrese svih vaznijih foldera u windowsu...

u "BCB DEV"-u ima primjer kako ovo naci: pomocu API f-je "SHGetSpecialFolderLocation"

pa u primjeru kaze:

Code:

 LPITEMIDLIST      pidl;
    LPMALLOC      pShellMalloc;
    char          szDir[MAX_PATH];

    
    if(SUCCEEDED(SHGetMalloc(&pShellMalloc)))
    {
        if(SUCCEEDED(SHGetSpecialFolderLocation(NULL,CSIDL_DESKTOPDIRECTORY,&pidl)))
        {
           
            if(SHGetPathFromIDList(pidl, szDir))
            {
               
                Label1->Caption = szDir;
            }

            pShellMalloc->Free(pidl);
        }

        pShellMalloc->Release();
    }


ali se meni ovo ne moze uopste iskompajlirati... pokazuje mi stalno gresku (sad cu samo lupiti jer ne znam tacno gdje) cini mi se u samom shlobj.h ili nekom drugom .h slicnog naziva... (???)
stavio sam i #include<SHLOBJ.H>
u cemu je stvar??
mogu li se dobiti putanje specijalnih foldera i na jos neki nacin??


dalje, u "BCB DEV"-u na ovu temu i o ovoj funkciji kaze:

"This function allows you to retrieve a pidl for various directories in the shell, such as the Windows desktop , the startup directory, and the My Documents folder..."

sta je pidl ??

tamo se kaze: "The last argument(f-je "SHGetSpecialFolderLocation") is the address of a pidl..."

[Ovu poruku je menjao fucking voodoo dana 08.01.2006. u 00:19 GMT+1]
there's something out there
waiting for us,
and it ain't no man...
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.nat-pool.po.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: adrese specijalnih foldera u windows-u07.01.2006. u 23:38 - pre 222 meseci
Probaj da dodas ovu liniju:

Code:

#define NO_WIN32_LEAN_AND_MEAN


... negde na pocetku Unit1.cpp.

Ili u Project / Options / Directories-conditionals / Conditionals

...dodaj NO_WIN32_LEAN_AND_MEAN.

Tj, ako je vec bilo _DEBUG, ti stavi: _DEBUG;NO_WIN32_LEAN_AND_MEAN

a ako nije onda samo taj string.
 
Odgovor na temu

IDE

Član broj: 53403
Poruke: 586
*.crnagora.net.



Profil

icon Re: adrese specijalnih foldera u windows-u08.01.2006. u 18:35 - pre 222 meseci
ok, to je to...
prvo sam mislio da me zezas sa ovim kodom, ali je ipak to to...

hvala ti...

ovdje sam zapazio jos jedan problem: u uputstvu za koriscenje ove f-je (u BCB DEV-u) imaju nabrojane vrijednosti koje trebamo unijeti da bi dobili adresu nekog foldera...
tako npr. u ovom smo slucaju stavili "CSIDL_DESKTOPDIRECTORY" da bi dobili desktop direktorijum, e pa problem je to sto kad se stave neke druge vrijednosti ,npr. za control panel: "CSIDL_CONTROLS" to ne radi...
ne radi, cini mi se ni za my computer... ni jos nekoliko...
u cemu je tu problem, zna li ko??
kako se moze otvoriti npr. control panel i da izgleda isto kao control panel kad ga otvorimo normalnim putam...ili kako otvoriti desktop (show desktop) ali ne samo folder njegov, nego da izgleda kako stvarno izgleda, tj. napraviti link ka sektopu pomocu koda...

a uzgred budi receno, sta znaci ovo sto sam dopisao (NO_WIN32_LEAN_AND_MEAN)?? kada se to upotrebljava??



[Ovu poruku je menjao fucking voodoo dana 08.01.2006. u 19:42 GMT+1]
there's something out there
waiting for us,
and it ain't no man...
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.nat-pool.po.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: adrese specijalnih foldera u windows-u08.01.2006. u 20:01 - pre 222 meseci
Citat:

prvo sam mislio da me zezas sa ovim kodom, [...]


Ja? :)

Eh, da stvarno deluje neozbiljno, ali je ipak tacno. Taj makro je bitan kod BCB5
i BCB6, i potreban je kod mnogih operacija, na primer i kod SHBrowseForFolder()
API-ja...

Citat:

a uzgred budi receno, sta znaci ovo sto sam dopisao (NO_WIN32_LEAN_AND_MEAN)
?? kada se to upotrebljava??

To znaci da "znaš za jadac", tj, postoje neka sukobljavanja Borlandovih i M$
header-a, pa taj makro rešava problem.

Takođe, može i da ga napravi (kod programiranja tray-a), ali to je već druga priča...

Citat:

npr. za control panel: "CSIDL_CONTROLS" to ne radi...

Pojma nemam. Nisam probao, a sada baš nemam vremena. Bio je i neki ZIP uz
te primere, pa ne znam mogu li ti oni rešiti problem... Takođe, može se desiti
da je sve to radilo za Win98, a da bi se sve sinhronizovalo sa XP treba na MSDN
pogledati nove konstante...

Citat:

kako se moze otvoriti npr. control panel i da izgleda isto kao control panel kad ga
otvorimo normalnim putam...


Na primer ovako možeš otvoriti CP:
Code:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    ShellExecute(NULL, "open", "control.exe", "", NULL, NULL);
}

... a ovako neku pojedinačnu stavku:
Code:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    ShellExecute(NULL, "open", "control.exe", "TimeDate.cpl", NULL, NULL);
}


 
Odgovor na temu

NrmMyth
Ivan Maček
Split

Član broj: 63456
Poruke: 849
*.cmu.carnet.hr.

Sajt: www.dump.hr


Profil

icon Re: adrese specijalnih foldera u windows-u09.01.2006. u 12:03 - pre 222 meseci
Meni je osobno lijepse samome programatski uci u registry i "pogledati".
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
 
Odgovor na temu

IDE

Član broj: 53403
Poruke: 586
*.crnagora.net.



Profil

icon Re: adrese specijalnih foldera u windows-u09.01.2006. u 15:06 - pre 222 meseci
ok, hvala vam na odgovorima...
there's something out there
waiting for us,
and it ain't no man...
 
Odgovor na temu

[es] :: C/C++ programiranje :: adrese specijalnih foldera u windows-u

[ Pregleda: 1819 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.