driverapp.cpp

来自「驱动程序的打包源程序 打包成安装文件setup程序」· C++ 代码 · 共 38 行

CPP
38
字号
#include "StdAfx.h"
#include "setupapi.h"
#pragma comment( lib, "setupapi")
#include <newdev.h>
#pragma comment( lib, "G:\\tmp\\driverSetup\\newdev.lib")
#include <tchar.h>
#include <stdlib.h>
void main()
{
	BOOL ret = FALSE;
	UINT n = 0;
	TCHAR strWinDir[_MAX_PATH], strInf[_MAX_PATH], strInfDes[_MAX_PATH];//,strSys[_MAX_PATH];
	ZeroMemory( strWinDir, _MAX_PATH*sizeof(TCHAR));
	ZeroMemory( strInf, _MAX_PATH*sizeof(TCHAR));
	ZeroMemory( strInfDes, _MAX_PATH*sizeof(TCHAR));
//	ZeroMemory( strSys, _MAX_PATH*sizeof(TCHAR));
	// Get the Windows Directory path
	n = GetWindowsDirectory(strWinDir, _MAX_PATH);
	if( n == 0)
		return;
	// Append the name of the INF file
	_tcscpy( strInf, strWinDir);
	_tcscat( strInf, _T( "\\system32\\drivers\\lpc23xx.inf"));
//	_tcscpy( strSys, strWinDir);
//	_tcscat( strSys, _T( "\\system32\\drivers"));
	// Call SetupCopyOEMInf() to invoke Windows to generate the PNF(procompiled INF file) file abc.PNF
	ret = SetupCopyOEMInf( strInf, NULL, SPOST_PATH,
					 0, strInfDes, _MAX_PATH, NULL, NULL);
	if( !ret)
		 return;
	BOOL bRebootRequired = FALSE;
	BOOLEAN bRet=0;
	bRet = UpdateDriverForPlugAndPlayDevices( NULL, _T("USB\\Vid_0471&Pid_2378"),
			   strInfDes, INSTALLFLAG_FORCE, &bRebootRequired);
//	bRet = UpdateDriverForPlugAndPlayDevices( NULL, _T("USB\\Vid_0471&Pid_2378&Rev_0100"),
//			   strInfDes, INSTALLFLAG_FORCE, &bRebootRequired);
	return;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?