Problem z zapisem plików na C: (prawa administratora)

dział ogólny

Re: Problem z zapisem plików na C: (prawa administratora)

Nowy postprzez Cyfrowy Baron » wtorek, 6 grudnia 2011, 17:19

A w jakiej wersji środowiska używasz tego kodu?
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Problem z zapisem plików na C: (prawa administratora)

Nowy postprzez RuntimeError200 » wtorek, 6 grudnia 2011, 17:54

C++ Builder 6 Personal ale nie chodzi mi o to, czy program się kompiluje bo się kompiluje, tylko czy tamto polecenie pobiera ścieżkę czy też daje błąd, bo taki sygnał dostałem od użytkownika programu na Win XP i chcę sprawdzić czy to jest przyczyną.
Avatar użytkownika
RuntimeError200
Bladawiec
Bladawiec
 
Posty: 8
Dołączył(a): piątek, 25 listopada 2011, 04:16
Podziękował : 4
Otrzymał podziękowań: 0
System operacyjny: Vista Home Premium 32
Kompilator: C++Builder 6 Personal
Gadu Gadu: 0
    Windows VistaOpera

Re: Problem z zapisem plików na C: (prawa administratora)

Nowy postprzez polymorphism » wtorek, 6 grudnia 2011, 19:04

W XP nie ma takiej zmiennej środowiskowej jak ProgramData, ale jeśli dobrze rozumiem sens katalogu, na który wskazuje, to odpowiednikiem w XP będzie AllUsersProfile (w 7 ta zmienna powinna także działać - sprawdź).
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows XPFirefox

Re: Problem z zapisem plików na C: (prawa administratora)

Nowy postprzez Cyfrowy Baron » wtorek, 6 grudnia 2011, 19:52

Dla tej funkcji możesz użyć tylko takich zmiennych:

KOD text:     UKRYJ  
ALLUSERSPROFILE
 Generic user profile.
 
APPDATA
 Path of the application data folder.
 
CLIENTNAME
 Name of Client machine.
 
COMMONPROGRAMFILES
 Path of common program files folder.
 
COMPUTERNAME
 Name of Computer code is running on.
 
COMSPEC
 Path of the cmd.exe program.
 
HOMEDRIVE
 Current home drive designation, such as 'C:'
 
HOMEPATH
 Path to current location for document storage.
 
LOGONSERVER
 Specifies a domain controller for user logon authentication.
 
NUMBER_OF_PROCESSORS
 Number of processors on current machine.
 
OS
 Base name of the Operating System. Note that Windows XP is given as Windows_NT.
 
PATH
 The current program path.
 
PATHEXT
 Extension types of executable files.
 
PROCESSOR_ARCHITECTURE
 Type of CPU architecture. For example, X86 for Intel Pentium processors.
 
PROCESSOR_IDENTIFIER
 ID number of current machine.
 
PROCESSOR_LEVEL
 More detailed description of the CPU architecture.
 
PROCESSOR_REVISION
 Processor revision level.
 
PROGRAMFILES
 Path of the program files folder.
 
SESSIONNAME
 Name of the current OS session.
 
SYSTEMDRIVE
 Drive the OS operates from.
 
SYSTEMROOT
 Sets the system directory.
 
TEMP
 Path of the temporary files folder.
 
TMP
 Directory to store temporary files to.
 
USERDOMAIN
 Specifies the domain of the current machine.
 
USERNAME
 Name of the current user.
 
USERPROFILE
 Path of the folder holding the current user's information.
 
WINDIR
 Path of the Windows folder.


Polecam plik pomocy, na ogół jest przydatny. Jak widzisz nie ma zmiennej ProgramData, więc oczywiście funkcja zwraca błąd.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Problem z zapisem plików na C: (prawa administratora)

Nowy postprzez polymorphism » wtorek, 6 grudnia 2011, 20:05

Gwoli ścisłości nie tylko. PROGRAMDATA jest to zmienna wprowadzona w Viście/7. Zatem użyć tej zmiennej może, ale na XP siłą rzeczy działać nie będzie. Nie wspominając, że możesz tej funkcji użyć do odczytu zmiennych zdefiniowany przez siebie czy też inny program.
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows XPFirefox

Re: Problem z zapisem plików na C: (prawa administratora)

Nowy postprzez Cyfrowy Baron » środa, 7 grudnia 2011, 07:53

polymorphism napisał(a):Nie wspominając, że możesz tej funkcji użyć do odczytu zmiennych zdefiniowany przez siebie czy też inny program.


Tego fragmentu wypowiedzi nie rozumiem... :o
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Problem z zapisem plików na C: (prawa administratora)

Nowy postprzez polymorphism » środa, 7 grudnia 2011, 10:42

Chodzi o to, że możesz dodawać swoje własne zmienne środowiskowe, które później będziesz w stanie odczytać tą funkcją.

--- dodane ---

RuntimeError200, przyjrzałem się nieco sprawie i myślę, że lepiej będzie jeśli użyjesz funkcji SHGetSpecialFolderPath z parametrem CSIDL_COMMON_APPDATA. W XP AllUsersProfile zwróci Ci katalog profilu dla wszystkich użytkowników, a przecież wewnątrz jest jeszcze katalog dla danych aplikacji, i to w nim powinieneś zapisywać dane.
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows XPFirefox

Poprzednia strona

  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Ogólne problemy z programowaniem

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 51 gości

cron