首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用P/Invoke调用PowerShell 1.0中的Win32函数?

如何使用P/Invoke调用PowerShell 1.0中的Win32函数?
EN

Stack Overflow用户
提问于 2008-09-26 23:11:34
回答 2查看 7.3K关注 0票数 4

在许多情况下,从PowerShell脚本调用Win32函数或其他动态链接库是很有用的。给出以下函数签名:

代码语言:javascript
复制
bool MyFunction( char* buffer, int* bufferSize )

我听说在PowerShell CTP2中有一些东西让这件事变得更容易,但我很好奇这是如何在 1.0中做得最好的。需要调用的函数使用指针这一事实可能会影响解决方案(但我不是很清楚)。

所以问题是,编写一个可以调用上面导出的Win32函数的PowerShell脚本的最佳方式是什么?

记住PowerShell 1.0。

EN

回答 2

Stack Overflow用户

发布于 2008-09-26 23:48:55

要从Powershell调用非托管代码,请使用Lee Holmes创建的Invoke-Win32函数。您可以找到源here。在这里,您可以看到一个如何调用具有指针的函数的示例,但更简单的用法是:

代码语言:javascript
复制
PS C:\> Invoke-Win32 "msvcrt.dll" ([Int32]) "puts" ([String])  "Test"
Test
0
票数 5
EN

Stack Overflow用户

发布于 2008-09-26 23:44:29

在API1.0中没有任何机制来直接调用Win32的PowerShell,你当然可以编写一个C#或者VB.NET帮助类来帮你做这件事,然后从PowerShell调用它。

更新:看看-

http://blogs.msdn.com/powershell/archive/2006/04/25/583236.aspx http://www.leeholmes.com/blog/ManagingINIFilesWithPowerShell.aspx

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/142452

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档