通过注册表设置默认打印机的方法
来源:互联网 发布:java在线鲜花销售系统 编辑:程序博客网 时间:2024/05/17 09:27
//获取默认打印机
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 default printer\n\n"));
RegCloseKey(defaultKey);
return FALSE;
}
}
RegCloseKey(defaultKey);
return TRUE;
}
//设置默认打印机
void CPrinterInfo::SetDefalutPrinterByReg()
{
//通过注册表,设置默认的打印机配置
HKEY defaultKey;
//tempName长度
DWORD keySize = (lstrlen(m_szOldDefultPrinterName)+1)*sizeof(TCHAR);
//_tprintf_s(_T("\nSet The Default Printer..............\n"));
//打开注册表
if(RegOpenKeyEx(HKEY_CURRENT_USER,
_T("Software\\Microsoft\\Windows NT\\CurrentVersion\\Windows"),0,
KEY_SET_VALUE //KEY_SET_VALUE 标识权限,修改注册表
,&defaultKey) == ERROR_SUCCESS)
{
if( RegSetValueEx( defaultKey,
_T("Device"),
NULL,
REG_SZ, //key标识,REG_SZ标识字符串
(LPBYTE)m_szOldDefultPrinterName,
keySize )== ERROR_SUCCESS)
{
//_tprintf_s(_T(".....OK.......\n"));
//AfxMessageBox(m_szOldDefultPrinterName);
}
else
{
//_tprintf_s(_T("failed to set default printer\nError:%d"),GetLastError());
}
}
RegCloseKey(defaultKey);
}
- 通过注册表设置默认打印机的方法
- 浏览器 通过注册表来设置修改默认浏览器的方法
- 通过注册表来设置修改默认浏览器的方法
- 设置EXCEL的默认打印机
- 设置EXCEL的默认打印机
- 获取默认打印机纸张的设置
- C#如何设置电脑的默认打印机?
- C#如何设置电脑的默认打印机?
- C#如何设置电脑的默认打印机?
- C# 如何设置系统的默认打印机
- VC/MFC得到电脑的默认打印机、设置默认打印机、遍历电脑打印机
- 设置默认打印机
- 设置默认打印机
- 代码设置默认打印机
- 设置默认打印机
- 设置系统默认打印机
- Windows设置默认打印机
- ABAP设置默认打印机
- cat命令的使用方法
- (转载)gdb中汇编调试
- struts2的基本配置以及jsp的路径问题
- 创建excel 文件流
- 如何编写邮件主题和标题
- 通过注册表设置默认打印机的方法
- 英语飙升的好方法(转)
- android的多分辨率支持机制 由anyDensity设置导致OpenGL贴图不能显示的问题谈开
- Spring常见面试基本概念题
- 转载:Java3D实现三维显示
- 0727
- Android入门第九篇之AlertDialog
- 接口的使用
- Linux创建进程