From cb4a46e7fbe62d788e66ed6121c717a2d22a4d7c Mon Sep 17 00:00:00 2001 From: watcherhd Date: Thu, 21 Apr 2011 14:14:52 +0000 Subject: svn.miranda.im is moving to a new home! git-svn-id: http://miranda-plugins.googlecode.com/svn/trunk@7 e753b5eb-9565-29b2-b5c5-2cc6f99dfbcb --- fddnotify/PTInstaller/PT-Installer.c | 62 ++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 fddnotify/PTInstaller/PT-Installer.c (limited to 'fddnotify/PTInstaller/PT-Installer.c') diff --git a/fddnotify/PTInstaller/PT-Installer.c b/fddnotify/PTInstaller/PT-Installer.c new file mode 100644 index 0000000..4010331 --- /dev/null +++ b/fddnotify/PTInstaller/PT-Installer.c @@ -0,0 +1,62 @@ +#include +#include +#include "pt_ioctl.c" + +HANDLE hPortTalk; + +BOOL isWindowsNT(void) +{ + OSVERSIONINFOEX osvi; + BOOL bOsVersionInfoEx; + + ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX)); + osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX); + if(!(bOsVersionInfoEx = GetVersionEx((OSVERSIONINFO *) &osvi))) { + osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); + if(!GetVersionEx((OSVERSIONINFO *)&osvi)) + osvi.dwPlatformId = VER_PLATFORM_WIN32_WINDOWS; + } + return osvi.dwPlatformId==VER_PLATFORM_WIN32_NT; +} + +void AddKeysToRegistry(void) +{ + HKEY hk; + DWORD dwData; + LPTSTR pszData = "PortTalk"; + + + if (RegCreateKeyEx(HKEY_LOCAL_MACHINE, "SYSTEM\\CurrentControlSet\\Services\\PortTalk", 0, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, &hk, NULL)) + return; + + dwData = 1; + RegSetValueEx(hk, "Type", 0, REG_DWORD, (LPBYTE)&dwData, sizeof(DWORD)); + + dwData = 1; + RegSetValueEx(hk, "ErrorControl", 0, REG_DWORD, (LPBYTE)&dwData, sizeof(DWORD)); + + dwData = 2; + RegSetValueEx(hk, "Start", 0, REG_DWORD, (LPBYTE)&dwData, sizeof(DWORD)); + + RegSetValueEx(hk, "DisplayName", 0, REG_EXPAND_SZ, (LPBYTE)pszData, (DWORD)lstrlen(pszData)+1); + + RegCloseKey(hk); +} + +int main(void) +{ + if (!isWindowsNT()) { + printf("PortTalk cannot be installed on non-NT systems (as a matter of fact you won't need it) :)\n"); + return 0; + } + + if (OpenPortTalk()) + return 1; + + ClosePortTalk(); + + AddKeysToRegistry(); + + printf("PortTalk succesful installation\n"); + return 0; +} -- cgit v1.2.3