• 締切済み

C言語でPDFファイルのサイズと位置を変更したい

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"; SHELLEXECUTEINFO sei = { 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; }

みんなの回答

回答No.1

自分の環境だと、 HKEY_CURRENT_USER\Software\Adobe\Acrobat Reader\DC\SDI の、 ~Leftとか~Top の位置に表示してるっぽいので、そちらを書き換えて位置調整するとか。 > 現在のコード 取り敢えず、MoveWindow関数の返り値は確認した方が良いです。

関連するQ&A