C++Builder Tips


プリンタ・「通常使うプリンタ」の取得


APIのGetPrinterを使ってもできますが、GetPrinterの場合OpenPrinterを使ってプリンタのハンドルを取得してからGetPrinterを使用することになります。OpenPrinterはNTの場合権限を設定しなければfalseが返却され失敗してしまうため、Win95系とWinNT系両方のOSで使えるものとなるとGetProfileStringを使用するのが簡単です。


DWORD dwRet;
char cPrtname[256];
AnsiString strErrmsg;

//現在の通常使うプリンタの取得
dwRet = GetProfileString("windows", "device", "", cPrtname, sizeof(cPrtname));
if (dwRet == 0){
  strErrmsg = SysErrorMessage(GetLastError());
  Application->MessageBox(strErrmsg.c_str(),"",MB_OK);
}
ShowMessage(cPrtname);


DownLoad bcbtips035.lzh 4KB(BCB5)