📄 setup.cpp
字号:
// Sample CESetup DLL
#include <windows.h>
#include <tchar.h>
#include "ce_setup.h"
#include "resource.h"
#ifdef ARM
#include "gx.h"
#endif
const TCHAR szTITLE[] = TEXT("CESetup Sample DLL");
const TCHAR szINST_INIT[] = TEXT("Install_Init\n\nContinue?");
const TCHAR szINST_EXIT[] = TEXT("Install_Exit\n\nContinue?");
const TCHAR szUNINST_INIT[] = TEXT("Uninstall_Init\n\nContinue?");
const TCHAR szUNINST_EXIT[] = TEXT("Uninstall_Exit");
HMODULE hDLL;
LPTSTR dir;
BOOL WINAPI DllMain(HANDLE hMod, DWORD dwReason, LPVOID lpvReserved)
{
hDLL=(HINSTANCE)hMod;
return TRUE;
}
codeINSTALL_INIT Install_Init(
HWND hwndParent,
BOOL fFirstCall,
BOOL fPreviouslyInstalled,
LPCTSTR pszInstallDir)
{
return codeINSTALL_INIT_CONTINUE;
}
void CheckSpecial(HWND hWnd)
{
char temp[201];
TCHAR src[200];
TCHAR dst[200];
PROCESS_INFORMATION p;
#ifdef GAPI
#ifndef HPC
HANDLE hGAPI=LoadLibrary(_T("\\Windows\\gx.dll"));
if (hGAPI)
{
wcscpy(src,dir);
wcscat(src,_T("\\gx.dll"));
DeleteFile(src);
FreeLibrary((HINSTANCE) hGAPI);
}
#ifdef ARM
wcscpy(src,dir);
wcscat(src,_T("\\DeviceHelper.exe"));
CreateProcess(src,dir,NULL,NULL,NULL,0,NULL,NULL,NULL,&p);
WaitForSingleObject(p.hProcess,INFINITE);
DeleteFile(src);
#endif
#endif
#endif
}
codeINSTALL_EXIT Install_Exit(
HWND hwndParent,
LPCTSTR pszInstallDir,
WORD cFailedDirs,
WORD cFailedFiles,
WORD cFailedRegKeys,
WORD cFailedRegVals,
WORD cFailedShortcuts)
{
dir=(unsigned short*)pszInstallDir;
CheckSpecial(hwndParent);
//DialogBox(hDLL,MAKEINTRESOURCE(IDD_DIALOG1),hwndParent,SetupDlg);
return codeINSTALL_EXIT_DONE;
}
codeUNINSTALL_INIT Uninstall_Init(HWND hwndParent, LPCTSTR pszInstallDir)
{
return codeUNINSTALL_INIT_CONTINUE;
}
codeUNINSTALL_EXIT Uninstall_Exit(HWND hwndParent)
{
return codeUNINSTALL_EXIT_DONE;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -