printui.dll でデフォルトプリンタの設定

  コンソール : 引数は "プリンタ名"



  
#include <comdef.h>
#include <stdio.h>

typedef void (__stdcall *LPFUNC)
(
	HWND hwnd,
	HINSTANCE hinst,
	LPWSTR lpszCmdLine,
	int nCmdShow
);

int main( int argc, char *argv[] )
{
	HINSTANCE lib;

	// *******************************************
	// DLL ロード
	// *******************************************
	lib = LoadLibrary( "printui.dll" );
	if ( lib == NULL ) {
		printf("%s\n", "printui.dll のロードに失敗しました");
		return 0;
	}
	
	// *******************************************
	// 関数アドレスのロード
	// *******************************************
	LPFUNC PrintUIEntry;

	PrintUIEntry = (LPFUNC)GetProcAddress( lib, "PrintUIEntryW" );
	if ( PrintUIEntry == NULL ) {
		FreeLibrary( lib );
		printf("%s\n", "PrintUIEntry のアドレスの取得に失敗しました");
		return 0;
	}

	// *******************************************
	// 実行
	// *******************************************
	_bstr_t bstrParam;
	bstrParam = " /y /n \"";
	bstrParam += argv[1];
	bstrParam += "\"";

	PrintUIEntry(
		GetDesktopWindow(),
		lib,
		(wchar_t *)bstrParam,
		SW_SHOW		
	);

	// *******************************************
	// DLL 解放
	// *******************************************
	FreeLibrary( lib );

	return 0;
}
  



  WinMain : 引数は プリンタ名



  
#include <comdef.h>

typedef void (__stdcall *LPFUNC)
(
	HWND hwnd,
	HINSTANCE hinst,
	LPWSTR lpszCmdLine,
	int nCmdShow
);

int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow )
{

	HINSTANCE lib;

	// *******************************************
	// DLL ロード
	// *******************************************
	lib = LoadLibrary( "printui.dll" );
	if ( lib == NULL ) {
		MessageBox( NULL, "printui.dll のロードに失敗しました", "", MB_OK );
		return 0;
	}
	
	// *******************************************
	// 関数アドレスのロード
	// *******************************************
	LPFUNC PrintUIEntry;

	PrintUIEntry = (LPFUNC)GetProcAddress( lib, "PrintUIEntryW" );
	if ( PrintUIEntry == NULL ) {
		FreeLibrary( lib );
		MessageBox(
			NULL,
			"PrintUIEntry のアドレスの取得に失敗しました",
			"",
			MB_OK );
		return 0;
	}

	// *******************************************
	// 実行
	// *******************************************
	_bstr_t bstrParam;
	bstrParam = " /y /n \"";
	bstrParam += lpCmdLine;
	bstrParam += "\"";

	PrintUIEntry(
		GetDesktopWindow(),
		lib,
		(wchar_t *)bstrParam,
		nCmdShow		
	);

	// *******************************************
	// DLL 解放
	// *******************************************
	FreeLibrary( lib );

	return 0;
}
  










  infoboard   管理者用   
このエントリーをはてなブックマークに追加




SQLの窓  天気  IT用語辞典
Yahoo!ニュース  マルチ辞書
PHP マニュアル  Google URL短縮 


フリーフォントWEBサービス
SQLの窓WEBサービス

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ