paip. c++ 调用.net dll 最好方式powershell 使用总结.
paip. c++ 调用.net dll 最好方式powershell 使用总结.
作者Attilax , EMAIL:1466519819@qq.com
来源:attilax的专栏
地址:http://blog.csdn.net/attilax
c++ 调用.net dll ...有几个方法:
1.使用CLR HOST..不过麻烦, 以及只能调用static 方法..无法调用在的方法.pass
2.通过web方式...用绿的iis类似软件...ASPX会自动编译,脚本雅十..麻烦.pass
3.给原来的dll增加com/cli接口,这个要发动vs,要编译,工作量子太大..麻烦...pass..
4.强烈推荐通过powershell...cli方式调用..
5.另外一种com方式.就是用JAVASCRIPT写COM组件,js通过powershell调用.net dll..工作量比较大.
powershell的优点感受:
-----------
可以直接调用.net dll..这个是哪最大的优点.相当于给.net dll 做磊个cli接口..供其他程序invoke
变量定义ms php的不错..
直接回显也不错..
ide以及帮助文档:
----------
C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell_ise.exe
不过好像ide基于.net3.5的..
帮助文档:C:\WINDOWS\Help\WindowsPowerShellHelp.chm
路径空格的处理
-----------------
外部调用PowerShell.exe和以参数形式执行脚本文件时,路径和文件名中不能包含空格。解析过程中空格前后被截断,只是把前面部分作为脚本文件名,这显然是错误。可以使用单引号包含带空格的路径或文件名, 前面使用执行操作符(&),最外面在加个双引号:
C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe "&'C:\Documents and Settings\Administrator\桌面\atips.ps1'"
halo world:
--------------
直接 "halo ,world" ...不用石麻print命令.方便阿.
关闭回显
-----------
[void]"halo"
import加载dll
------------
[void][System.Reflection.Assembly]::LoadFile("D:\0aiwenzi yjm\demo\bin\Debug\MOLEI.dll")
建立对象
-----------
$number=New-Object System.Random
$s=New-Object MOLE.str
执行完成后不要关闭
-------------------
增加。-NOEXIT 参数
例子
------------
$number=New-Object System.Random
#$number.NextDouble()
[void][System.Reflection.Assembly]::LoadFile("D:\0aiwenzi yjm\demo\bin\Debug\MOLEI.dll")
$s=New-Object MOLE.str
$s.UrlPara="c=12&a=00"
$s.GetUrlPara("asc")
[void]"halo"
参考
Read more: Windows PowerShell 2.0创建调用脚本文件 - 天行健@中国元素 - 博客园 http://www.cnblogs.com/fuhj02/archive/2010/11/30/1891649.html#ixzz2fcM8I3S1
2013-09-22 14:27 43,631 .NET CLR Hosting 簡介.htm
2013-09-22 14:28 80,180 .Net CLR Hosting原理及实践_.Net博文_CS程序员之窗.htm
2013-09-22 14:48 78,118 .NET Remoting - 维基百科,自由的百科全书.htm
2013-09-22 14:38 32,445 C++手动加载CLR运行托管程序(CLR Hosting)_Linux编程_Linux公社-Linux系统门户网站.htm
2013-09-22 18:20 20,336 C++程序中调用exe可执行文件 - 简简单单 - 博客频道 - CSDN.NET.htm
2013-09-22 18:43 27,712 c++调用shell 或者dos命令—使用system函数 - ddkxddkx的专栏 - 博客频道 - CSDN.NET.htm
2013-09-22 19:05 18,444 Linux下QT中执行shell命令 - zhangjs0322的专栏 - 博客频道 - CSDN.NET.htm
2013-09-22 19:06 19,343 Linux下Qt程序实现对shell命令的执行_sam kwok's space_百度空间.htm
2013-09-22 16:26 69,674 New-Object 找不到类型 [MOLE.str] 请确保已加载包含此类型的程序集。_百度搜索.htm
2013-09-22 16:16 145,093 New-Object 帮助信息-PowerShell-ChinaUnix博客.htm
2013-09-22 16:30 21,448 path space直接双击运行PowerShell的脚本文件.ps1(更新)_六翼刺猬的某某刺猬窝_百度空间.htm
2013-09-22 16:45 28,902 Powershell 变量 - Sai~ - 博客园.htm
2013-09-22 17:17 38,007 Powershell 定义变量 PowerShell 中文博客.htm
2013-09-22 16:27 39,408 PowerShell命令输出的控制方法 - 51CTO.COM.htm
2013-09-22 17:18 157,775 PowerShell教程 - 博客搬往 http begtostudy.cnblogs.com - 博客频道 - CSDN.NET.htm
2013-09-22 19:48 24,969 QProcess - 山庄来客的专栏 - 博客频道 - CSDN.NET.htm
2013-09-22 19:52 43,715 QProcess学习_yi_yuan_1988_新浪博客.htm
2013-09-22 19:52 63,124 QT QProcess执行cmd Shell命令并取得输出信息 - 小猪的日志 - 网易博客.htm
虚拟主机,域名注册,双线虚拟主机,服务器租赁,为7万用户提供服务.htm
2013-09-22 18:24 19,724 ShellExecuteEx的用法 - jiangsok的博客 - 博客频道 - CSDN.NET.htm
2013-09-22 15:46 76,202 Windows Power Shell_百度百科.htm
2013-09-22 18:48 34,772 Windows PowerShell 2.0创建调用脚本文件 - 天行健@中国元素 - 博客园.htm
2013-09-22 16:34 43,856 Windows PowerShell 的新增功能 - 51CTO.COM.htm
2013-09-22 16:34 42,116 Windows PowerShell的12项酷功能 - 51CTO.COM.htm
2013-09-22 15:37 161,774 Windows 管理框架 (Windows PowerShell 2.0、 WinRM 2.0 和BITS 4.0).htm
2013-09-22 17:17 41,022 回显PowerShell 函数返回值的问题 Solo Estoy.htm
2013-09-22 16:33 42,155 如何使用Windows PowerShell控制活动目录(1) - 51CTO.COM.htm
2013-09-22 16:03 21,474 学习PowerShell遇到的第一个问题 因为在此系统中禁止执行脚本--转自网络_账号居然被盗了,发了一堆垃圾文章_百度空间.htm
2013-09-22 14:40 80,172 将托管dll注入到非托管进程中 - 残梦飘雪的日志 - 网易博客.htm
2013-09-22 17:17 404,871 探索PowerShell(七) PowerShell变量_PowerShell_脚本之家.mht
2013-09-22 16:32 42,882 有关PowerShell脚本你必须知道的十个基本概念 - 51CTO.COM.htm
2013-09-22 16:34 20,325 自动化PowerPoint_程序人生_百度空间.htm
2013-09-22 15:37 93,166 请问有没有脚本语言或者shell能够调用.net的dll?.htm