• 大小: 3.51MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-10-31
  • 语言: C/C++
  • 标签: vc++  c++  c  

资源简介

vc++ c++ c 软件自动升级程序源代码 在线自动升级功能 自动升级 源代码 对话框自动升级程序,自动下载并安装,VS2003程序

资源截图

代码片段和文件信息

// AutoUpdate.cpp : 定义应用程序的类行为。
//

#include “stdafx.h“
#include “AutoUpdate.h“
#include “AutoUpdateDlg.h“
#include “.\autoupdate.h“
#include 

#ifdef _DEBUG
#define new DEBUG_NEW
#endif


// CAutoUpdateApp

BEGIN_MESSAGE_MAP(CAutoUpdateApp CWinApp)
ON_COMMAND(ID_HELP CWinApp::onhelp)
END_MESSAGE_MAP()


// CAutoUpdateApp 构造

CAutoUpdateApp::CAutoUpdateApp()
{
// TODO: 在此处添加构造代码,
// 将所有重要的初始化放置在 InitInstance 中
}


// 唯一的一个 CAutoUpdateApp 对象

CAutoUpdateApp theApp;


// CAutoUpdateApp 初始化
extern CString GetModuleDirectory();

BOOL CAutoUpdateApp::InitInstance()
{
// 如果一个运行在 Windows XP 上的应用程序清单指定要
// 使用 ComCtl32.dll 版本 6 或更高版本来启用可视化方式,
//则需要 InitCommonControls()。否则,将无法创建窗口。
InitCommonControls();

CWinApp::InitInstance();

AfxEnableControlContainer();

// 标准初始化
// 如果未使用这些功能并希望减小
// 最终可执行文件的大小,则应移除下列
// 不需要的特定初始化例程
// 更改用于存储设置的注册表项
// TODO: 应适当修改该字符串,
// 例如修改为公司或组织名
SetRegistryKey(_T(“应用程序向导生成的本地应用程序“));

CString csServerURL = GetCommandLine();
{
int iIndex = csServerURL.Find(“ “);
if(iIndex >= 0)
{
csServerURL = csServerURL.Mid(iIndex+1); 
}
}

CAutoUpdateDlg dlg;
dlg.m_csDownloadURL = csServerURL;
m_pMainWnd = &dlg;
INT_PTR nResponse = dlg.DoModal();
if (nResponse == IDOK)
{
// TODO: 在此放置处理何时用“确定”来关闭
//对话框的代码
}
else if (nResponse == IDCANCEL)
{
// TODO: 在此放置处理何时用“取消”来关闭
//对话框的代码
}

if(dlg.m_bFileOK)  //表示文件下载下来了
{
CString csFile = GetModuleDirectory()+“YLBSetup.exe“;
StartInstall(csFile);
}

// 由于对话框已关闭,所以将返回 FALSE 以便退出应用程序,
// 而不是启动应用程序的消息泵。
return FALSE;
}

void CAutoUpdateApp::StartInstall(LPCSTR lpFileName)
{
STARTUPINFO si;
PROCESS_INFORMATION pi;

ZeroMemory( &si sizeof(si) );
si.cb = sizeof(si);
ZeroMemory( &pi sizeof(pi) );

char temp = ‘\“‘;
CString strCmdLine;
strCmdLine = CString(temp) + lpFileName + CString(temp);
char* p_CmdLine;
p_CmdLine=strCmdLine.GetBuffer(strCmdLine.GetLength());
if( !CreateProcess( NULL // No module name (use command line). 
p_CmdLine   // Command line. 
NULL             // Process handle not inheritable. 
NULL             // Thread handle not inheritable. 
FALSE            // Set handle inheritance to FALSE. 
0                // No creation flags. 
NULL             // Use parent‘s environment block. 
NULL             // Use parent‘s starting directory. 
&si              // Pointer to STARTUPINFO structure.
&pi )             // Pointer to PROCESS_INFORMATION structure.
) 
{
//AfxMessageBox( “CreateProcess failed.“ );
return;
}
// Wait until child process exits.
WaitForSingleobject( pi.hProcess INFINITE);
// Close process and thread handles. 
CloseHandle( pi.hProcess );
CloseHandle( pi.hThread );
return;
}

void CAutoUpdateApp::WaitForProcessOK(LPCSTR lpProcName)
{
HANDLE hSnapShot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS0);
PROCESSENTRY32 processInf

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      42228  2010-07-19 16:31  AutoUpdate\AutoUpdate.aps

     文件       3658  2010-07-19 13:20  AutoUpdate\AutoUpdate.cpp

     文件        555  2006-06-24 14:06  AutoUpdate\AutoUpdate.h

     文件      84992  2010-07-21 09:49  AutoUpdate\AutoUpdate.ncb

     文件       4154  2006-07-12 22:08  AutoUpdate\AutoUpdate.rc

     文件        909  2010-07-15 15:35  AutoUpdate\AutoUpdate.sln

    ..A..H.     16384  2010-07-21 09:49  AutoUpdate\AutoUpdate.suo

     文件       4990  2006-07-12 22:07  AutoUpdate\AutoUpdate.vcproj

     文件       5015  2010-07-20 15:33  AutoUpdate\AutoUpdateDlg.cpp

     文件       1130  2006-06-24 14:06  AutoUpdate\AutoUpdateDlg.h

     文件     155648  2010-07-20 16:04  AutoUpdate\Debug\AutoUpdate.exe

     文件    1245816  2010-07-20 16:04  AutoUpdate\Debug\AutoUpdate.ilk

     文件      35700  2010-07-19 13:24  AutoUpdate\Debug\AutoUpdate.obj

     文件    9764864  2010-07-15 15:06  AutoUpdate\Debug\AutoUpdate.pch

     文件    2944000  2010-07-20 16:04  AutoUpdate\Debug\AutoUpdate.pdb

     文件      23184  2010-07-15 15:06  AutoUpdate\Debug\AutoUpdate.res

     文件      50111  2010-07-20 16:04  AutoUpdate\Debug\AutoUpdateDlg.obj

     文件        816  2010-07-21 08:55  AutoUpdate\Debug\BuildLog.htm

     文件      17939  2010-07-15 15:06  AutoUpdate\Debug\MsgDialog.obj

     文件     222555  2010-07-15 15:06  AutoUpdate\Debug\stdafx.obj

     文件     232448  2010-07-20 16:04  AutoUpdate\Debug\vc70.idb

     文件     552960  2010-07-20 16:04  AutoUpdate\Debug\vc70.pdb

     文件      85856  2010-07-20 18:08  AutoUpdate\Debug\YLBSetup.exe

     文件        839  2006-07-12 22:09  AutoUpdate\MsgDialog.cpp

     文件        445  2006-07-12 22:09  AutoUpdate\MsgDialog.h

     文件       2726  2006-06-24 14:06  AutoUpdate\ReadMe.txt

     文件      21630  2006-06-24 14:06  AutoUpdate\res\AutoUpdate.ico

     文件        699  2006-06-24 14:06  AutoUpdate\res\AutoUpdate.manifest

     文件        366  2006-06-24 14:06  AutoUpdate\res\AutoUpdate.rc2

     文件        214  2006-07-12 22:07  AutoUpdate\res\BKImage.bmp

............此处省略10个文件信息

评论

共有 条评论