天龙八部OL登录器编写之创建快捷方式
生活随笔
收集整理的這篇文章主要介紹了
天龙八部OL登录器编写之创建快捷方式
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
早些年玩天龍八部OL的時(shí)候,就想自己搭建一個(gè)來玩,因?yàn)橥饷嬗泻芏嘈孤┏鰜淼陌姹尽?br />
現(xiàn)在外面已經(jīng)有很成熟的登錄器了,我就來貼一段天龍八部OL編寫的代碼吧,寫的很挫,
并沒有涉及到數(shù)據(jù)包解密的部分。純屬水貼,可吐口水丟板磚!
首先需要把MFC編寫的軟件放到天龍八部OL的安裝目錄下,然后運(yùn)行 "登錄器.exe"
登錄器會(huì)首先查找Bin文件下的Game.exe是否存在,如果存在則創(chuàng)建快捷方式到桌面去。
//點(diǎn)擊登錄代碼
char GameBin[MAX_PATH]= {0}; GetCurrentDirectory(MAX_PATH,GameBin); lstrcat(GameBin,"\\Bin"); chdir(GameBin); //改變運(yùn)行目錄 //因?yàn)椴桓淖兡夸沇inexec是無法執(zhí)行的 WinExec("Game.exe -fl",SW_SHOW);?
//查找文件的代碼
BOOL CLaunchDlg::FindBinGamePath(TCHAR *tPath) {char strGameBin[MAX_PATH]= {0},strFilePath[MAX_PATH]= {0};GetModuleFileName(NULL,strFilePath,MAX_PATH);//獲取自身路徑GetCurrentDirectory(MAX_PATH,strGameBin);lstrcat(strGameBin,"\\Bin\\Game.exe"); //獲取Game路徑HANDLE hGameExe;WIN32_FIND_DATA FileData;hGameExe = FindFirstFile(strGameBin,&FileData);if (hGameExe == INVALID_HANDLE_VALUE){MessageBox("請(qǐng)放置在天龍八部OL根目錄!","提示",MB_ICONWARNING);ExitProcess(0);return 0;}//關(guān)閉查找FindClose(hGameExe);//創(chuàng)建快捷方式CreatLinkToDeskTop(strFilePath);return 0; }?
//創(chuàng)建快捷方式的代碼
BOOL CLaunchDlg::CreatLinkToDeskTop(char *LinkName) {HRESULT hResult = CoInitialize(NULL);if (SUCCEEDED(hResult)){IShellLink *pShellLink;hResult = CoCreateInstance(CLSID_ShellLink, NULL,CLSCTX_INPROC_SERVER, IID_IShellLink, (void**)&pShellLink);if (SUCCEEDED(hResult)){IPersistFile* pIPF;//這里是我們要?jiǎng)?chuàng)建快捷方式的原始文件地址pShellLink->SetPath(LinkName);hResult = pShellLink->QueryInterface(IID_IPersistFile, (void**)&pIPF);if (SUCCEEDED(hResult)){//這里是我們要?jiǎng)?chuàng)建快捷方式的目標(biāo)地址char DesktopPath[MAX_PATH]= {0},FilePath[MAX_PATH]= {0},FileExeName[MAX_PATH]= {0};lstrcat(FileExeName,AfxGetApp()->m_pszAppName);SHGetSpecialFolderPath(NULL,DesktopPath, CSIDL_DESKTOPDIRECTORY, 0);lstrcat(DesktopPath,"\\");lstrcat(DesktopPath,FileExeName);lstrcat(DesktopPath,".lnk");//獲取自身所在文件夾路徑 寫入快捷方式GetCurrentDirectory(MAX_PATH,FilePath);pShellLink->SetWorkingDirectory(FilePath);USES_CONVERSION;LPCOLESTR lpOleStr = A2COLE(DesktopPath);pIPF->Save(lpOleStr, FALSE);pIPF->Release();}pShellLink->Release();}CoUninitialize();}return TRUE; }總結(jié)
以上是生活随笔為你收集整理的天龙八部OL登录器编写之创建快捷方式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 技术团队管理经验总结(持续更新)
- 下一篇: Qt自定义标题栏可拖动修改窗口大小