在许多情况下,从PowerShell脚本调用Win32函数或其他DLL会很有用.给出以下函数签名:
bool MyFunction( char* buffer, int* bufferSize )
我听说有一些东西可以让你在PowerShell CTP 2中更容易,但我很好奇这是如何在PowerShell 1.0中做得最好的.需要调用的函数使用指针的事实 可能会影响解决方案(但我真的不知道).
所以问题是编写PowerShell脚本的最佳方法是什么,可以像上面那样调用导出的Win32函数?
请记住PowerShell 1.0.
要从Powershell调用非托管代码,请使用Lee Holmes创建的Invoke-Win32函数.你可以在这里找到来源.在那里你可以看到一个如何调用具有指针的函数的例子,但更简单的用法是:
PS C:\> Invoke-Win32 "msvcrt.dll" ([Int32]) "puts" ([String]) "Test" Test 0