Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Ścieżka pulpitu i ...

Ostatnio zmodyfikowano 2011-04-20 20:28
Autor Wiadomość
Mrowqa
Temat założony przez niniejszego użytkownika
Ścieżka pulpitu i ...
» 2011-04-20 18:28:15
Witam!

Chciałem się zapytać jak zdobyć ścieżkę do pulpitu ?? Jest jakaś funkcja ?? Albo specjalne coś przy podawaniu ścieżki w kodzie ?? Chodzi mi o to, że napisałem program, który przenosi się na pulpit, ale w każdym systemie operacyjnym przecież pulpit ma inną ścieżkę ... Jest coś takiego ??

------ problem 2 ------------
To samo tylko do autostartu ;) Albo miejsca, z którego system też odpaliłby ten plik ... ( ale tak, by ręcznie dało się usunąć - najlepiej prosto ... tak jak z autostartu :D ale jeśli się nie da ... trudno :D )

Pozdrawiam,
Mrowqa
P-31288
SeaMonster131
» 2011-04-20 18:39:25
Ścieżka do pulpitu...ja to zrobiłem tak:

C/C++
string profil = getenv( "USERPROFILE" );
string sciezka = profil + "\\Pulpit";
cout << sciezka;

Ale czy to jest najlepsze rozwiązanie to nie wiem heh :)
P-31289
dmx81
dla windows
» 2011-04-20 18:43:08
http://weseetips.com/2008/05/01 /how-to-get-the-path-of-special-folders-in-windows/

jako parametr podajesz
CSIDL_COMMON_STARTUP
lub
CSIDL_DESKTOP

C/C++
TCHAR strPath[ MAX_PATH ]; // tablica na sciezke

SHGetSpecialFolderPath(
0, // Hwnd
strPath, // String buffer.
CSIDL_DESKTOPDIRECTORY, // CSLID of folder
FALSE ); // Create if doesn't exists?[/cpp]

jak nie wiesz co to za arg, to podajesz uchwyt na okno, wskaznik na tablice znakow, ktora sam tworzysz wczesniej, parametr ktory wyzej wypisalem, false, aby nie tworzyc jesli nie istnieje
P-31291
Mrowqa
Temat założony przez niniejszego użytkownika
» 2011-04-20 18:43:46
No właśnie na necie znalazłem
% USERPROFILE %
, ale jest problem ;/
W win7 i prawdopodobnie Vista jest 'Desktop', w XP masz 'Pulpit' ;'(
Trzeba by sprawdzić czy jest coś lepszego ;) ew. sprawdza windows'a ...
Poszukam, ale nie jestem pewien, czy znajdę :D

PS zostaje jeszcze autostart, może też znajdę w tych 'zmiennych' ...

Pozdrawiam,
Mrowqa
P-31292
dmx81
» 2011-04-20 18:47:21
zobacz wyzej, napisalem co do autostartu i co do pulpitu (oczywiscie, jesli chodzi o windows) ale w tym samym czasie dostales inna odpowiedz i mojej nie zauwazyles :>
P-31294
Mrowqa
Temat założony przez niniejszego użytkownika
» 2011-04-20 18:57:49
Zauważyłem tę różową ramkę ;)
Co do twojego rozwiązania - nie wiem zbytnio co to za argumenty, postaram się ogarnąć :D Zbytnio WinAPI nie umiem ( w ogóle nie umiem ^^ ) - ale zamierzam od dawna się uczyć :D:D ( coś mi te uchwyty itp 'pachną' ( przecież nie napiszę 'śmierdzą' ) WinAPI ... )
Napiszę, czy udało mi się to co chciałem osiągnąć :D

PS ja znalazłem:
dla XP
dla Visty
a ja mam win7 ... ( ale mniejsza o to :D - problem z desktop/pulpit, autostart/startup itp ... )

EDIT:
może kodzik z wywołaniem ... :) Zbytnio tego nie rozumie ...

PS zobaczycie po co mi to ;) taki ciekawy ( może i nawet denerwujący ) programik - 'niespodzianka' :D:D

EDIT:
SHGetSpecialFolderPath( 0, string ?? /* znowu - jaki ?? :D */, CSIDL_DESKTOP, FALSE );
Zbytnio tego nie rozumie :D

EDIT:
coś zaczynam rozumieć ... Ta tablica to zwykła tablica char ?? albo przynajmniej da się tak przekopiować?? :D
Ale najważniejsze --> jaką mam dołączyć bibliotekę ?? wiem, że to nie
windows.h
 ...

EDIT:
jednak
windows.h
 trzeba dołączyć (
MAX_PATH, TCHAR
 ), ale w której bibliotece znajduję się ta funkcja ??

EDIT:
Shlobj.h
 :D udało mi się ;) Lekki spam się tu zrobił ;/ ^^

Teraz testy :D:D

Pozdrawiam,
Mrowqa

P-31300
dmx81
» 2011-04-20 19:53:52
PS>>>> nie wiem co sie stalo, rozpisalem sie z wiadomoscia, dalem na WYSLIJ... pokazalo sie okienko, ze trwa wysylanie formularza... i sie tak zawiesilo, wiadomosc nie dotarla, a moj wpis sie ulotnil... trudno, pisze jeszcze raz,

dobrze kombinujesz, mi dziala cos takiego:

C/C++
#define _WIN32_IE 0x0500
#include <shlobj.h>
#include <iostream>

int main()
{
    TCHAR strPath[ MAX_PATH ];
    SHGetSpecialFolderPath( 0, strPath, CSIDL_DESKTOP, FALSE );
    std::cout << " sciezka pulpitu to: " << strPath;
    return 0;
}
byc moze musisz tez dac np
system("pause") aby zobaczyc wynik, u mnie w C::B nie trzeba...
P-31311
Mrowqa
Temat założony przez niniejszego użytkownika
» 2011-04-20 19:56:42
No dzięki ;)
Sam się starałem to zrobić ;D ( i wyszło --> jako TCHAR[], char[] i string ^^ )
Najlepsze ( i bardzo wygodne ):
string sciezka( strPath );
 ;D

Pozdrawiam,
Mrowqa
P-31312
« 1 » 2
  Strona 1 z 2 Następna strona