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

Uruchamianie aplikacji programowo z normalnymi prawami

Ostatnio zmodyfikowano 2011-11-06 11:23
Autor Wiadomość
yoogi
Temat założony przez niniejszego użytkownika
Uruchamianie aplikacji programowo z normalnymi prawami
» 2011-11-05 15:22:07
Witam, napisałem sobie aplikację, która dodaję wpis do rejestru i uruchamia się przy starcie systemu. Oto kod:

C/C++
char c[ MAX_PATH ];
SHGetFolderPath( NULL, CSIDL_APPDATA, NULL, 0, c );

strcat( c, "\\test\\test.exe" );

HKEY hKey;
LONG lnRes = RegOpenKeyEx( HKEY_CURRENT_USER, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", 0, KEY_WRITE, & hKey );
if( ERROR_SUCCESS == lnRes )
{
    lnRes = RegSetValueEx( hKey, "YourProgramsName", 0, REG_SZ,( BYTE * ) c, _tcslen( c ) );
    return 0;
}
else return 1;


Po ponownym uruchomieniu systemu, aplikacja nie ma dostępu do plików. Jak uruchomię ją za pomocą "dwukrotnego kliknięcia na plik" to się normalnie uruchomi.
Jak uruchomię za pomocą funkcji "ShellExecute" to też nie posiada praw do zapisu plików, a aplikacja zapisuję do folderu "AppData" lub po prostu "dane aplikacji"

Myślałem nad napisaniem osobnej aplikacji, która by się uruchamiała przy starcie systemu i uruchamiała tę główną.

Z góry dzięki za każdą odpowiedź :)
P-43360
DejaVu
» 2011-11-06 11:23:22
Sprawdź jaki masz katalog roboczy (z poziomu aplikacji) - prawdopodobnie masz inny katalog roboczy gdy jest on uruchamiany przez system aniżeli gdy odpalasz go samodzielnie.
P-43411
« 1 »
  Strona 1 z 1