PDFのファイルをサイズと位置を指定して開きたいのですがうまく行きません、
良い方法はありませんか?
現在のコード
//v8.3 PDFのファイルのサイズと位置を変更
BOOL MovePDF(LPCTSTR lpszCloseFile)
{
CWnd* pWnd;
CString str = lpszCloseFile;
//v8.2 ウィンドウを検索してハンドルの取得
pWnd = FindWindow("AcrobatSDIWindow", str + " - Adobe Reader");
if (pWnd != NULL){
//v8.3 見つかったウィンドウのサイズと位置を変更(x,y,widh,height)
pWnd->MoveWindow(0, 0, 600, 600);
return TRUE;
}
else MessageBox("ウィンドウハンドルが取得できませんでした。");
return FALSE;
}
//v7.4 レイアウト図作成手順表示
BOOL MakeLayout1()
{
int ret;
CString strFileName;
strFileName = m_cFunc.GetInitDir() + "\\PDF\\レイアウト図作成手順1.pdf";
SHELLEXECUTEINFOsei = { 0 };
//構造体のサイズ
sei.cbSize = sizeof(SHELLEXECUTEINFO);
//起動側のウインドウハンドル
sei.hwnd = m_hWnd;
//起動後の表示状態
sei.nShow = SW_SHOWNORMAL;
//このパラメータが重要で、セットしないとSHELLEXECUTEINFO構造体のhProcessメンバがセットされない。
sei.fMask = SEE_MASK_NOCLOSEPROCESS;
//起動プログラム
sei.lpFile = strFileName;
//プロセス起動
if(!ShellExecuteEx(&sei) || (const int)sei.hInstApp <= 32){
TRACE("error ShellExecuteEx\n");
}
else {
//v8.3 入力可能状態になるまで待つ
WaitForInputIdle(sei.hProcess, INFINITE);
}
//v8.3 サイズと位置変更
MovePDF("レイアウト図作成手順1.pdf");
return TRUE;
}
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
MFCなんでしょうけど……
# って事でC言語ではなくC++言語ということになりますかねぇ…。
で……どう「うまくいかない」んですか?
とりあえず、手元のVS2015 Communityで試したところだと…
>pWnd = FindWindow("AcrobatSDIWindow", str + " - Adobe Reader");
が常にNULLになりましたね。
というか…コールされたのがAPIのFindWindow()のような気もしますが。
# MFCアプリケーション、ダイアログベースで作成して適当にボタン配置して掲示されたコードを貼り付け。
# PDFファイルのファイル名をローカルドライブにある適当なPDFファイルをフルパス指定して、
# アクロバットリーダーが微妙にバージョン違いの為、その辺修正。
# 掲示された関数はダイアログクラスのメンバに変更。
pWnd = CWnd::FindWindow("AcrobatSDIWindow", str + " - Adobe Reader");
でpWndは非NULLになって動作しましたけど。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 動かなくなってしまった古いVBAを動くようにしたい 8 2022/09/20 13:57
- JavaScript アップロードファイルの種類によって処理を分岐させたいのですが書き方が分からずアドバイスお願いします 4 2023/06/17 19:12
- Excel(エクセル) 【エクセルマクロ】既に開いているIEの、サイズや表示位置を変更するには 4 2022/12/01 22:57
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- その他(プログラミング・Web制作) python OpenPyXLを使って出力結果をエクセルに書き込み 2 2022/06/04 19:46
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/03 09:11
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- 大学・短大 C言語線形リストの問題です 3 2022/12/22 00:45
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBSでのSendKeysでの画面の最小化
-
Windowsプログラムのビジー状態...
-
2重起動の防止
-
C#でGUI・CUIの判断する仕方を...
-
Vba アプリケーションが立ち上...
-
Accessフォームからの外部アプ...
-
MFCアプリケーションでの終了コ...
-
フレームワーク「4.8.1」で、[S...
-
VB.NETでMessageBoxを表示した...
-
対象のアプリケーションが終了...
-
VBSで2バイト文字の送り方の質...
-
C#で共有変数の定義をするには
-
実行時のコマンドプロンプトを...
-
他のアプリを起動してウィンド...
-
EXCELを常にIEなど他のアプリの...
-
VB2008で作成したアプリケーシ...
-
外部アプリケーションの起動に...
-
コンソールアプリケーションの...
-
httpd.pidって何ですか?
-
他アプリケーションの終了
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Vba アプリケーションが立ち上...
-
VBSでのSendKeysでの画面の最小化
-
コンソールアプリケーションの...
-
フレームワーク「4.8.1」で、[S...
-
WSH(VBScript)でアプリケーショ...
-
Accessフォームからの外部アプ...
-
VB6での二重起動(複数起動)の制...
-
イラストレーターCS4のシリアル...
-
VB.NETでMessageBoxを表示した...
-
Console Applicationをタスクト...
-
Java Web Start アプリケーショ...
-
VB.NETでフォームアクティブの...
-
C#でGUI・CUIの判断する仕方を...
-
vb6で異なるのプロジェクト間で...
-
MFCアプリケーションでの終了コ...
-
pccNTmon.exeとntrtscan.exeの違い
-
自分自身を更新するプログラム
-
excel VBAで、外部アプリケーシ...
-
vcxprojファイルの修正法???
-
実行時のコマンドプロンプトを...
おすすめ情報