1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
/** \file session-loader.cpp
\brief Define the session plugin loader test
\author alpha_one_x86
\version 0.3
\date 2010 */
#include <QtCore>
#if defined (Q_OS_WIN32)
#include <windows.h>
#else
#error "Not under windows, plugin will not work"
#endif
#include "sessionLoader.h"
void SessionLoader::setEnabled(bool newValue)
{
ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,"start, newValue: "+QString::number(newValue));
//set value into the variable
HKEY ultracopier_regkey;
//for autostart
QString runStringApp = "\"" + QApplication::applicationFilePath() + "\"";
runStringApp.replace( "/", "\\" );
wchar_t windowsString[255];
runStringApp.toWCharArray(windowsString);
RegCreateKeyEx(HKEY_CURRENT_USER, TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Run"), 0, 0, REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS, 0, &ultracopier_regkey, 0);
if(newValue)
RegSetValueEx(ultracopier_regkey, TEXT("ultracopier"), 0, REG_SZ, (BYTE*)windowsString, runStringApp.length()*2);
else
RegDeleteValue(ultracopier_regkey, TEXT("ultracopier"));
RegCloseKey(ultracopier_regkey);
}
bool SessionLoader::getEnabled()
{
ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,"start");
//return the value into the variable
HKEY ultracopier_regkey;
bool temp=false;
RegCreateKeyEx(HKEY_CURRENT_USER, TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Run"), 0, 0, REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS, 0, &ultracopier_regkey, 0);
DWORD kSize=254;
if(RegQueryValueEx(ultracopier_regkey,TEXT("ultracopier"),NULL,NULL,(LPBYTE)0,&kSize) == ERROR_SUCCESS)
temp=true;
RegCloseKey(ultracopier_regkey);
ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,"return this value: "+QString::number(temp));
return temp;
}
void SessionLoader::setResources(OptionInterface * options,QString writePath,QString pluginPath,bool portableVersion)
{
Q_UNUSED(options);
Q_UNUSED(writePath);
Q_UNUSED(pluginPath);
Q_UNUSED(portableVersion);
}
Q_EXPORT_PLUGIN2(sessionLoader, SessionLoader);
|