2014-04-28 3 views
0

내 응용 프로그램이 사용자가 자신의 계정에 로그온하는 것을 시작하려고합니다.Windows에서 QT 자동 시작 응용 프로그램

내 현재 코드 : 나는 regedit를 볼 때 내가 윈도우에 로그온 할 때

#ifdef Q_OS_WIN 
QSettings bootUpSettings("HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Run", QSettings::NativeFormat); 
QString base_dir = qApp->applicationDirPath() + "\\MyApp.exe"; 

if (autoStartChecked == "true") { 
    bootUpSettings.setValue("MyApp","\""+base_dir+"\""); 
} else { 
    bootUpSettings.remove("MyApp"); 
} 
#endif 

내가 응용 프로그램 못해 자동 시작을 내 응용 프로그램이 값으로 키를 추가했다고 볼 수 있지만 어떤 이유로 수 있습니다.

아이디어가 있으십니까?

+0

하지 당신이 경로를 인용 할 필요가 있는지 확인은 레지 설정은 이미 문자열이며 늘 그 위치 (임 테스트에에 키를 추가하는 몇 가지 이유를 들어 –

답변

1

는 대신 마이크로 소프트 \ 윈도우 \ CurrentVersion을 \ 실행

키 그 \

HKEY_LOCAL_MACHINE \ 소프트웨어로 응용 프로그램 실행 파일의 경로를 넣어해야합니다. 즉 :

QSettings bootUpSettings("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", QSettings::NativeFormat); 
QString app_path = QCoreApplication::applicationFilePath(); 
if (autoStartChecked == "true") { 
    bootUpSettings.setValue("MyApp", app_path); 
} else { 
    bootUpSettings.remove("MyApp"); 
} 
+0

... 탈출 할 필요가 없습니다 Windows 7) .. 업데이트 테스트 – user3490755

+0

@ user3490755, 무엇이 오류입니까? 진단 할 수 있니? – vahancho

+0

그냥 웬일인지 추가되지 않을거야. 어떻게하면 QSettings가 오류를 반환 할 수 있습니까? – user3490755

관련 문제