除了子进程之外,所有内容的最顶层窗口

时间:2015-08-24 00:45:20

标签: vb.net windows process window

我的程序是全屏和最顶层的,我希望该窗口的所有子进程都在我程序的主窗口之上。这些过程是未知的,也是外在的。

我可以使用System.Diagnostics.Process.Start(exeName,procArgs).WaitForExit()启动该过程,但是从那里我被卡住了。

1 个答案:

答案 0 :(得分:0)

基本上,您使用SetParent()API使外部应用程序成为您的子应用程序。在这里,我还使用GetWindowRect()和SetWindowPos()API在其父级更改后将窗口保持在相同的启动位置。最后,您需要跟踪进程并手动关闭它们,以便在表单关闭时它们不会变成孤立状态:

public class AddTimeActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.add_time);
    }

    public void onCancel(View view) {
        finish();
    }

    public void onSave(View view) {
        Intent intent = new Intent(AddTimeActivity.this, MainActivity.class);
        EditText timeEditText = (EditText) findViewById(R.id.Time_Edit_Text);
        String time = timeEditText.getText().toString();
        EditText noteEditText = (EditText) findViewById(R.id.Note_Edit_Text);
        String note = noteEditText.getText().toString();
        intent.putExtra("time", time);
        intent.putExtra("note", note);
        this.setResult(RESULT_OK, intent);
        finish();
    }
}