📄 cesetupdll.cpp
字号:
#include <windows.h>
#include "ce_setup.h"
#include <service.h>
///////////////////////////////////////////////////////////
//PURPOSE : HANDLES TASKS DONE AT START OF INSTALLATION
///////////////////////////////////////////////////////////
codeINSTALL_INIT Install_Init(HWND hwndparent,
BOOL ffirstcall,BOOL fpreviouslyinstalled,LPCTSTR pszinstalldir)
{
//do nothing
//return value
return codeINSTALL_INIT_CONTINUE;
}
///////////////////////////////////////////////////////////
//PURPOSE : HANDLES TASKS DONE AT END OF INSTALLATION
///////////////////////////////////////////////////////////
codeINSTALL_EXIT Install_Exit(
HWND hwndparent,LPCTSTR pszinstalldir,
WORD cfaileddirs,WORD cfailedfiles,WORD cfailedregkeys,
WORD cfailedregvals,
WORD cfailedshortcuts)
{
// Start service
HANDLE h = ActivateService(TEXT("AudioRouting"), 0);
if (!h)
{
// did not start
MessageBox(hwndparent, TEXT("AudioRouting Activate Failed"), TEXT("Installation"), MB_ICONEXCLAMATION|MB_OK);
}
h = CreateFile(TEXT("ARS1:"),0, FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL);
if (!DeviceIoControl(h, IOCTL_SERVICE_START, NULL,0,NULL,0,NULL,NULL))
{
TCHAR s[256];
wsprintf(s, TEXT("AudioRouting start failed %d (%x)"), GetLastError(),h);
MessageBox(NULL, s, TEXT("StartStop"), MB_SETFOREGROUND|MB_TOPMOST|MB_OK);
}
CloseHandle(h);
return codeINSTALL_EXIT_DONE;
}
///////////////////////////////////////////////////////////////
//PURPOSE : HANDLES TASKS DONE AT BEGINNING OF UNINSTALLATION
///////////////////////////////////////////////////////////////
codeUNINSTALL_INIT Uninstall_Init(
HWND hwndparent,LPCTSTR pszinstalldir)
{
// stop service
HANDLE h = GetServiceHandle(TEXT("ARS1:"),NULL, 0);
if (INVALID_HANDLE_VALUE !=h)
{
// Send Stop
DeviceIoControl(h, IOCTL_SERVICE_STOP, NULL,0,NULL,0,NULL,NULL);
BOOL b = DeregisterService(h);
if (!b)
{
MessageBox(hwndparent, TEXT("AudioRouting Stop Failed"), TEXT("Installation"), MB_ICONEXCLAMATION|MB_OK);
}
}
// whack reg keys
return codeUNINSTALL_INIT_CONTINUE;
}
///////////////////////////////////////////////////////////
//PURPOSE : HANDLES TASKS DONE AT END OF UNINSTALLATION
///////////////////////////////////////////////////////////
codeUNINSTALL_EXIT Uninstall_Exit(HWND hwndparent)
{
//do nothing
//return value
return codeUNINSTALL_EXIT_DONE;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -