//获取默认打印机
BOOL CPrinterInfo::GetTheDefaultPrinterByReg()
{
//通过注册表,获取默认的打印机配置
HKEY defaultKey;
DWORD bufferSize = 255;
TCHAR *printerName = new TCHAR[255];
//_tprintf_s(_T("\nGet The Default Printer......\n"));
if(RegOpenKeyEx(HKEY_CURRENT_USER,
_T("Software\\Microsoft\\Windows NT\\CurrentVersion\\Windows"),0,
KEY_QUERY_VALUE,&defaultKey) == ERROR_SUCCESS)
{
if(RegQueryValueEx( defaultKey,
_T("Device"),
NULL,
NULL,
(LPBYTE)printerName,
&bufferSize ) == ERROR_SUCCESS)
{
//_memccpy(m_szOldDefultPrinterName,printerName,',',MAX_PATH);
//_tcscpy_s(m_szOldDefultPrinterName,MAX_PATH,printerName);
memcpy(m_szOldDefultPrinterName,printerName,MAX_PATH);
}
else
{
//_tprintf_s(_T("failed to get the
通过注册表设置默认打印机的方法
最新推荐文章于 2024-08-08 13:01:12 发布
本文介绍了一个C++方法,通过Windows注册表来获取和设置默认打印机。`GetTheDefaultPrinterByReg`函数利用`RegOpenKeyEx`和`RegQueryValueEx`从`HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows`路径下读取`Device`值来获取默认打印机。而`SetDefalutPrinterByReg`函数则通过`RegSetValueEx`将指定的打印机设置为默认打印机。
摘要由CSDN通过智能技术生成