티스토리 뷰

 

MFC에서 작업 중 출력 작업을 하는데 웹페이지 인쇄 시 배경색이 안 먹고 계속해서 그냥 글자만(글자색도 다르게) 출력돼 어서 알아보니 설정에서 배경 그래픽에 체크를 하면  된다는 것을 알게 되었다. 

 

그런데 사용자에게 출력시 설정 열고 체크해서 인쇄하세요.라고 이야기할 수는 없지 않은가..  그래서 알아보았다. 

 일단 내가 쓰는 프로그램에서 웹뷰가 Interner Exproler이여서 그걸 기준으로 알아보았다. 

 

해당 설정 정보는 사용자별 레지스트리에 등록이 된다. 해당 경로는 아래와 같다. 

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\PageSetup

해당 레지스트에 보면 인쇄 설정관련 값들이 나오는데 margin_bottom~ margin_top 까지가 인쇄 여백 설정

Print_Background 가 배경 색상을 적용할 것인지 여부 

Shrink_To_Fit이 아마 화면크기를 종이에 맞춤 옵션일 듯하다. 

 

변경은 아래와 같이 하면된다. 

 

TCHAR buffer[64];
lResult = RegOpenKeyEx(HKEY_CURRENT_USER, L"Software\\Microsoft\\Internet Explorer\\PageSetup", 0, KEY_READ | KEY_SET_VALUE, &hKey);
if (ERROR_SUCCESS != lResult)
{
// 기존에 키가 없을 경우 추가.
lResult = RegCreateKeyEx(HKEY_CURRENT_USER, L"Software\\Microsoft\\Internet Explorer\\PageSetup", 0, NULL, 0, KEY_READ | KEY_WRITE | KEY_SET_VALUE, NULL, &hKey, &dwSize);
if (ERROR_SUCCESS == lResult)
{
  TCHAR buffer2[64] = L"yes";
  RegSetValueEx(hKey, L"Print_Background", 0, REG_SZ, (BYTE *)buffer2, _tcslen(buffer2) * sizeof(TCHAR));
}

}
else
{
  DWORD data_size = sizeof(buffer); // 사용할 메모리공간의 크기를 저장한다.
  lResult = RegQueryValueEx(hKey, L"Print_Background", 0, NULL, (LPBYTE)buffer, &data_size); 
  TCHAR buffer2[64] = L"yes";
  lResult = RegSetValueEx(hKey, L"Print_Background", 0, REG_SZ, (BYTE *)buffer2, _tcslen(buffer2) * sizeof(TCHAR));
}
RegCloseKey(hKey);

 

코드 자체는 허접하다..  돌아가긴하니까 알아서 수정하면 될 것 같아 보인다. 

 

크롬 설정법은 다음에...

'프로그래밍 > 디자인패턴' 카테고리의 다른 글

싱글톤패턴  (0) 2019.09.19
RMI  (0) 2019.09.19
팩토리 패턴, 객체지향  (0) 2019.09.19
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
글 보관함