我的程序是全屏和最顶层的,我希望该窗口的所有子进程都在我程序的主窗口之上。这些过程是未知的,也是外在的。
我可以使用System.Diagnostics.Process.Start(exeName,procArgs).WaitForExit()
启动该过程,但是从那里我被卡住了。
答案 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();
}
}