如何修改使用 DocumentProperties() 函式的印表機設定
LPDEVMODE GetLandscapeDevMode(HWND hWnd, char *pDevice) { HANDLE hPrinter; LPDEVMODE pDevMode; DWORD dwNeeded, dwRet; /* Start by opening the printer */ if (!OpenPrinter(pDevice, &hPrinter, NULL)) return NULL; /* * Step 1: * Allocate a buffer of the correct size. */ dwNeeded = DocumentProperties(hWnd, hPrinter, /* Handle to our printer. */ pDevice, /* Name of the printer. */ NULL, /* Asking for size, so */ NULL, /* these are not used. */ 0); /* Zero returns buffer size. */ pDevMode = (LPDEVMODE)malloc(dwNeeded); /* * Step 2: * Get the default DevMode for the printer and * modify it for your needs. */ dwRet = DocumentProperties(hWnd, hPrinter, pDevice, pDevMode, /* The address of the buffer to fill. */ NULL, /* Not using the input buffer. */ DM_OUT_BUFFER); /* Have the output buffer filled. */ if (dwRet != IDOK) { /* If failure, cleanup and return failure. */ free(pDevMode); ClosePrinter(hPrinter); return NULL; } /* * Make changes to the DevMode which are supported. */ if (pDevMode->dmFields & DM_ORIENTATION) { /* If the printer supports paper orientation, set it.*/ pDevMode->dmOrientation = DMORIENT_LANDSCAPE; } if (pDevMode->dmFields & DM_DUPLEX) { /* If it supports duplex printing, use it. */ pDevMode->dmDuplex = DMDUP_HORIZONTAL; } /* * Step 3: * Merge the new settings with the old. * This gives the driver an opportunity to update any private * portions of the DevMode structure. */ dwRet = DocumentProperties(hWnd, hPrinter, pDevice, pDevMode, /* Reuse our buffer for output. */ pDevMode, /* Pass the driver our changes. */ DM_IN_BUFFER | /* Commands to Merge our changes and */ DM_OUT_BUFFER); /* write the result. */ /* Finished with the printer */ ClosePrinter(hPrinter); if (dwRet != IDOK) { /* If failure, cleanup and return failure. */ free(pDevMode); return NULL; } /* Return the modified DevMode structure. */ return pDevMode; }
相關推薦
如何修改使用 DocumentProperties() 函式的印表機設定
LPDEVMODE GetLandscapeDevMode(HWND hWnd, char *pDevice) { HANDLE hPrinter; LPDEVMODE pDevMode; DWORD dwNeeded, dwRet; /* S
列印過程中修改印表機設定orientation等
使用ResetDC & DEVMODE 特別注意: 1)Note that a call to ResetDC resets all device context attributes back to default values. 2)The s
如何使用 SetPrinter 修改印表機設定
// MySetPrinter // // Demonstrates how to use the SetPrinter API. This particular function changes the orienation // for the printer specified in pPrint
C++ 印表機設定
我在網上已不斷看到一些網友關於自定義紙張列印的問題,基本上還沒有較完美的解決方案,我在這裡提供一個WindowsNT/2000/XP下的解決辦法,供廣大同仁參考。Windows9x/Me下也有解決辦法,有興趣者可共同探討。 該方法的主要思想是在程式開始時新增自定義紙張並設為預設紙張,程式結束前刪除該自定義紙
教您修改TeamViewer的視訊設定
TeamViewer作為安全可靠的遠端協助軟體,不僅可以用來遠端控制,還能進行視訊,那麼在使用該功能之前可以進行設定,本節學習修改視訊設定的方法。 具體設定步驟如下: 1.雙擊桌面的快捷方式啟動TeamViewer遠端協助軟體,這樣就可以開啟軟體主介面,直接用滑鼠點選其它選單,選擇選項來開啟
獲取印表機設定的紙張引數
PrintDialog BS = new PrintDialog(); int x = BS.PrinterSettings.DefaultPageSettings.PaperSize.Width;//印表機預設紙張大小
MySQL修改root密碼及設定許可權
轉自:https://www.cnblogs.com/antis/p/5468615.html?tdsourcetag=s_pcqq_aiomsg 整理了以下四種在MySQL中修改root密碼的方法,可能對大家有所幫助! 方法
使用指標無法修改主函式的值
#include <stdio.h> #include <stdlib.h> #define OK 1 #define ERROR 0 typedef struct Lnode { int data; struct Lnode * next; }
不能修改“System Roots”鑰匙串 要更改根證書是否會被信任,請在“鑰匙串訪問”中開啟它,然後修改它的信任設定
問題: 在做 ios 開發 安裝 根證書時 遇到如下提示: 不能修改“System Roots”鑰匙串 要更改根證書是否會被信任,請在“鑰匙串訪問”中開啟它,然後修改它的信任設定 解決方法: 1、點選“鑰匙串訪問”頁面左側“種類”中的“登陸”或“login”,然後把藥安裝的 根證書 拖進去,
子函式修改父函式的值
//子函式要想修改父函式的值,必須要①傳指標【例程式碼1】 ②解引用【例程式碼2】//但傳指標解引用也不一定能成功修改,因為可能有野指標【例程式碼3】 /*//【程式碼1】 :輸出結果為 10,20//【因為沒有傳指標,則Swap_err1
python函式——字典設定預設值 setdefault()
文章目錄 setdefault()描述 setdefault()用法 setdefault()示例 setdefault()描述 Python 字典 setdefault() 函式是新增鍵並將值設為預設值。 當
layui中radio的動態載入(進入修改頁面時,設定radio)
動態設定 radio 的值讓它處於選中狀態 效果圖 : 前端程式碼: <div class="layui-form-item"> <label class="layui-form-label">狀態</label>
NN模型設定--損失函式的設定
人臉的loss 1)Softmax 是最常見的人臉識別損失函式,然而,Softmax 不會顯式的優化類間和類內距離的,所以通常不會有太好的效能。 2)Triplet Loss 作為一種 Metric Learning,也在人臉識別中廣泛使用。 相比 Softmax,其特點
Win10和Win7共享印表機設定方法
Win10和Win7如何共享印表機呢?當局域網中同時存在Win10和Win7系統,同時區域網中只有某一臺計算機連線有印表機時,我們可以通過區域網印表機共享操作來實現印表機共享。下面就與大家分享一下區域網電腦共享印表機的具體設定方法。
keras 預訓練模型finetune,多模型ensemble,修改loss函式,調節學習率
keras 預訓練模型finetune,多模型ensemble,修改loss函式,調節學習率 載入預訓練模型並finetune 修改loss函式 兩個網路做ensemble,進行網路訓練,調節learning rate 載入預訓練模型並fi
[WordPress]修改comment_form()函式實現個性化評論框
在製作Wordpress模版的時候,其中文章評論框是通過呼叫comment_form()函式即可實現,它將完成評論框的“姓名”、“電子郵件”、“站點”以及評論內容輸入框和“提交”按鈕的介面展示,但這個對於追求模版個性化的朋友來說,這肯定滿足不了你的需求。 我最近正好遇到的一個問題,有些朋友不知道如何
php的header函式之設定content-type
設定常用的content-type: //定義編碼 header( 'Content-Type:text/html;charset=utf-8 '); //Atom header('Content-type: application/atom+xml'); //CSS
Websphere7.0環境下修改JVM的記憶體設定
方法1:修改配置的方式 通過修改server.xml進行JVM堆大小的設定: servel.xml檔案路徑:/IBM/WebSphere/AppServer/profiles/AppSrv01/config/cells/22Node01Cell/nodes/Node01/
VMD642開發板CCS3.1中如何在cbd檔案裡修改cmd的記憶體設定
VMD642開發板就是騷啊。燒寫flash真麻煩。碰到簡單的實驗例程沒有DSP/BIOS的改memory直接修改cmd檔案就好了。但是遇到有DSP/BIOS的就不一樣了。不可以簡單地直接在CMD檔案改。 這是一個有DSP/BIOS的例程。 開啟.cbd檔案。system-m
使用matlab的fminunc函式自動設定學習率α
個人部落格文章連結: http://www.huqj.top/article?id=164 應用梯度下降法中最為關鍵的一個步驟就是學習率α的選擇,根據梯度下降的數學原理可知:如果學習率過大,可能導致梯度下降發無法收斂甚至發散,而學習率過小又會導致迭代次數過多,影響學習效率。所以通常我們