exe生成的问题

yudengchang 2008-07-09 01:41:04
请参照附件。
此功能因为客户每次都要把最新的数据导入,但导入的功能要由固定的人做,别人看不到。然后操作人员就要根据倒入的文件内容进行处理。
...全文
154 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
yudengchang 2008-07-10
  • 打赏
  • 举报
回复
pupo太感谢你了。成功了。谢谢。
pupo 2008-07-10
  • 打赏
  • 举报
回复
http://download.csdn.net/source/533565
yudengchang 2008-07-10
  • 打赏
  • 举报
回复
pupo 你好,我按照你的意思去试验了一下,怎么最后没有生成b.exe。帮忙能不能做个例子呀?简单的也行。
pupo 2008-07-09
  • 打赏
  • 举报
回复
C#的

做一个中间Dll(Reader.DLL),里面包含一个带参数的Form1窗体
public Form1(string FileName)
{
InitializeComponent();

}

用CodeDom在a.exe中生成b.exe(源代码模板可根据自己需要定义)

private void button1_Click(object sender, System.EventArgs e)
{
if (this.textBox1.Text.Trim().Length > 0)
{
//替换源代码
string code = codeBase;
code = code.Replace("MyApp", "新命名空间");
code = code.Replace("Test", "新类名");
code = code.Replace("文件名", this.textBox1.Text);

//编译生成exe
CompileCode(code, System.IO.Path.Combine(Application.StartupPath, "b.exe"));
}
else
MessageBox.Show("请输入文件名!");
}

//源代码模板
string codeBase = "using System;" + System.Environment.NewLine +
"namespace MyApp " + System.Environment.NewLine +
"{" + System.Environment.NewLine +
" class Test" + System.Environment.NewLine +
" {" + System.Environment.NewLine +
" [System.STAThread]" + System.Environment.NewLine +
" static void Main()" + System.Environment.NewLine +
" {" + System.Environment.NewLine +
" System.Windows.Forms.Application.Run(new Reader.Form1(\"文件名\"));" + System.Environment.NewLine +
" }" + System.Environment.NewLine +
" }" + System.Environment.NewLine +
"}" + System.Environment.NewLine;

private CompilerResults CompileCode(string SourceCode, string ExeuteFileName)
{

CSharpCodeProvider provider = new CSharpCodeProvider();
ICodeCompiler compiler = provider.CreateCompiler();

CompilerParameters cp = new CompilerParameters(new string[] {"System.dll","Reader.DLL","System.Windows.Forms.dll"}, ExeuteFileName, false);

cp.CompilerOptions = "/target:winexe";

cp.GenerateExecutable = true;

CompilerResults cr = compiler.CompileAssemblyFromSource(cp, SourceCode);
return cr;
}


yudengchang 2008-07-09
  • 打赏
  • 举报
回复
假设有俩个exe,a.exe和b.exe,要通过a.exe来导入c.csv文件,然后按下一个按钮,把文件传递给b.exe,再次生成b.exe,在这里生成的b.exe可以单独执行。也就是拿到别的地方也可以执行。在b.exe执行后就可以读取道c.csv文件的数据,进行操作。
yudengchang 2008-07-09
  • 打赏
  • 举报
回复
假设有俩个exe,a.exe和b.exe,要通过a.exe来导入c.csv文件,然后按下一个按钮,把文件传递给b.exe,再次生成b.exe,在这里生成的b.exe可以单独执行。也就是拿到别的地方也可以执行。在b.exe执行后就可以读取道c.csv文件的数据,进行操作。
xhan2000 2008-07-09
  • 打赏
  • 举报
回复
不明白
LiloZhu 2008-07-09
  • 打赏
  • 举报
回复
还是没有搞懂你的是什么问题..

16,721

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧