我一直试图让Microsoft Access从主Access窗口"逃脱",以便我可以隐藏Access窗口并在桌面上显示表单,以便它可以轻松地与其他应用程序一起放置.
起初我发现了一些使用Access自己的Form.PopUp属性的代码示例,但这不能在运行时设置,只有在设计视图中才能设置.虽然这似乎达到了我想要做的,但有两个缺点:
在设计视图和普通视图之间切换需要在两者之间"关闭"窗口 - 我宁愿保持打开以保持当前状态,特别是因为它用于创建必须未保存的新记录.
我想打开其他形式的主要形式,除非它们也设置为"弹出式",否则这种形式似乎也不能很好地运行.但这很麻烦,因为这些也需要放入设计视图等,我不确定在两个弹出窗口之间切换是否容易.
然后我找到了一个名为SetParent的API函数,似乎可以满足我的需求.我使用了以下命令(VBA语法):
SetParent ShowForm.hWnd
ShowWindow hWndAccessApp, SW_HIDE
ShowWindow ShowForm.hWnd, SW_SHOWNORMAL
Run Code Online (Sandbox Code Playgroud)
但是我遇到了两个问题(可能是相关的:
窗口似乎没有反应(我无法输入它,例如,单击按钮似乎也没有工作).
当我做ALT + TAB时,我得到了一个BSOD:
BugCheck 1000008E, {c0000005, 9e3573f5, 88d9da10, 0}
Probably caused by : win32k.sys ( win32k!xxxNextWindow+3a6 )
at win32k!EngLineTo+1a641
Run Code Online (Sandbox Code Playgroud)有没有其他方法可以这样做,以便我可以有一个没有访问窗口的表单,能够在主访问窗口之外调用和显示其他访问表单?
我在SetParent API文档中注意到还有其他一些事情需要完成 - 更改UI状态和更改窗口样式但我找不到正确的方法来执行它们.这样做会解决BSOD和无响应问题吗?
谢谢你的任何想法!
在Knockout文档的Explicitly Subscribing to Observables部分下,有一个函数event参数的引用subscribe,但该页面上给出的唯一两个例子是change和beforeChange.
举个例子,我尝试传入"focus"作为第三个参数,但是没有用.我不是太惊讶,因为"focus"DOM元素的事件而不是淘汰观察,但是理论上它可以为绑定到该可观察对象的所有元素设置焦点事件的订阅.
是否有可以使用Knockout observable.subscribe函数手动订阅的所有事件的列表?
我一直在四处寻找,但未能找到这个问题的直接答案。首先,我要声明的是,我想要实现的目标不一定特别有用,但目的部分是为了理解 PHP 如何与其他进程和流等交互。
在 shell 终端,您可以运行一个命令,例如echo $USER,它将输出名为 的环境变量中的任何内容USER。
我想知道是否可以执行此命令,然后echo使用 PHP 的proc_open函数捕获 shell 命令的输出。
这就是我目前正在尝试的:
$descriptors = [['pipe', 'r'], ['pipe', 'w'], ['pipe', 'w']];
$handle = proc_open('echo Hello world, $USER!', $descriptors, $pipes, null, ['USER' => 'guest']);
$world = stream_get_contents($pipes[0]);
Run Code Online (Sandbox Code Playgroud)
$world保持空(即'')。
我有几个理论来解释为什么它不起作用[以及方括号中的每个理论可能是错误的原因],但我想知道是否有人可以证实其中一个或提供另一种解释为什么它不工作?
理论 1 echo 命令在 PHP 有机会读取输出之前立即终止。[真的吗?有没有办法使用 proc_open 捕获立即终止的命令的输出?也许这不是 proc_open 的用途?]
理论 2
echo 在某种程度上被视为 shell 内置命令而不是独立的可执行文件,这就是它的行为不同的原因?[Linux 提供了一个名为 echo in 的可执行文件/bin/echo,难道它不能只使用那个吗?另外更改echo为/bin/echo也不能解决问题]
先感谢您