1

私は、MicrosoftAccessで動作するようにこの質問に対するLukeQuinaneの回答を実装しようとしています。

私が使用しているコードは、回答に記載されているものとまったく同じですが、便宜上、以下に示しています。言うまでもなく、私のWindowsフォームはパネルとボタンで構成されています。

using System;
using System.Diagnostics;
using System.Runtime.InteropServices;
using System.Windows.Forms;

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        Process p = Process.Start("MSACCESS.exe");
        p.WaitForInputIdle();
        SetParent(p.MainWindowHandle, panel1.Handle);

    }

    [DllImport("user32.dll")]
    static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent);

    private void Form1_Load(object sender, EventArgs e)
    {

    }
}

Microsoft Accessは正常に起動しますが、パネル内に配置しようとすると消えます。

に置き換えるMSACCESS.exenotepad.exe、プログラムは期待どおりにメモ帳で機能します。

この手順をMicrosoftAccessで機能させるために、何か特別なことをする必要がありますか?

4

0 に答える 0