从过程中执行 ShellExecute

发布于 2024-07-12 11:55:17 字数 236 浏览 6 评论 0原文

我想称呼这个..以及好 ShellExecute(Handle, 'open', 'c:\Windows\notepad.exe', nil, nil, SW_SHOWNORMAL) 我可以从 form1 的方法中毫无问题地调用它,

但我只有一个过程“procedure transdataset();” 我想调用它,但它无法识别句柄...我只需要将此过程设为 form1 的方法吗? 我怎么做? 这就是解决方案。

i want to call this.. well as good as
ShellExecute(Handle, 'open', 'c:\Windows\notepad.exe', nil, nil, SW_SHOWNORMAL)
i can call this without issue from within a method of form1

but i just had a procedure "procedure transformdataset();" that i want to call this in and it does not recognise handle... do i just need to make this procedure a method of form1?
how do i do that? is that the solution.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

逆蝶 2024-07-19 11:55:17

是的,ShellExecute 需要窗口句柄。 最直接的解决方案是将其传递给您的方法。 我觉得这有点难看,所以就我个人而言,我会考虑在方法返回时调用 ShellExecute。 如果该调用是可选的(取决于数据),请考虑从该方法返回一个状态标志,指示是否需要 ShellExecute 调用。 不过,无论哪种方式都有效。

Yes, ShellExecute needs the Window Handle. The most straightforward solution is to pass it in to your method. I find this a bit ugly though so, personally, I'd consider calling ShellExecute when the method returns. If the call is optional (dependent on data), consider returning a status flag from the method that indicates whether the ShellExecute call is required. Either way works, though.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文