在我的"手势识别"项目中,我正在使用Visual Studio 2010 Visual C ++,并打开CV,其中有许多Win32控制台应用程序c ++文件,例如用于训练,测试,创建数据集,用于HMM训练等。用于运行我需要的任何文件 包括该文件并排除所有其他文件。之前我是在Console应用程序上创建的,但现在我想向该项目添加Windows窗体应用程序。当我向该项目添加Windows Form Visual C ++并创建按钮时,尽管我给出了错误 更改了公共语言运行时支持的属性。有什么方法可以执行这些不同的.cpp文件,从而在Form Application上创建按钮,因为那是使用c#。
`private:System :: Void Krishna_Load(System :: Object ^ sender,System :: EventArgs ^ e){
}
私人:System :: Void button1_Click(System :: Object ^发件人,System :: EventArgs ^ e){
}
};
}
`
使用Process类运行外部程序。 这很可能是实现程序的一种糟糕方法。
您的措辞令人困惑。 您是说您已经在C ++ / CLI中实现了GUI(如果不是,是什么语言?),又在C ++中实现了基于控制台的后端,并且您希望能够从GUI运行后端? 如果是这样,则不难直接调用C ++代码。 只是谷歌短语,如"混合非托管的C ++和托管的代码"。 对于某人来说,发布整个教程作为答案是一个太宽泛的问题。 另外,您可以考虑使用C ++(非托管)GUI框架,这样就不需要混合语言。
如果此问题是针对Visual Basic Developers的,则:
单击该按钮,Visual Studio将为您生成代码,当用户单击应用程序中的相同按钮时,该代码将运行。
考虑以下示例:
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Process.Start("C:\Users\MyName\Documents\MyApp.exe")
End Sub
End Class
在上面提到的代码中,当我单击名为" Button1"的按钮时,除第三行外的所有内容都是由Visual Studio自动生成的
在From1中单击Button1时,它将启动应用程序MyApp.exe,该应用程序位于文件夹C: Users MyName Documents
该代码应该对您的项目有效,因为它对我有效。 使用此代码,您还可以运行其他文件,例如.mp3和.mp4等。
-1,您假定Visual Basic是基于什么基础的?这个问题暗示(用一种措辞不好的方式)C ++ / CLI。
如果有人发现此答案"无用",请在此处说明原因???这将使我有机会重新确定我的答案。谢谢!
我确实提到了原因...(但请参阅我对以上评论的更正)。
他提到过Visual Studio,并且Windows Form Applications是用Visual Basic语言创建的。当我开始学习Visual Basic时,我遇到了同样的问题。因此,我认为,很明显,要求它的人未能将其标记为" Visual Basic 2012或2010",但它来自Visual Basic。
不,您没有正确理解。 Windows窗体是.NET API,并且不特定于Visual Basic(就像Visual Studio是通用IDE一样,并不特定于Visual Basic)。仅仅因为您碰巧在Visual Basic中使用它并不意味着每个人都这样做。 OP说" Windows窗体应用程序c ++",表示他正在使用C ++ / CLI。
是的,您是对的,WFA并非特定于Visual Basic。但是看着他,他只是签了名,问了这个问题。所以我想以任何可能的方式帮助他。如果您注意到的话,我已经作了一些更正。
让我们继续聊天中的讨论。
我已经按照我的想法回答了。您有权拒绝我的回答。我曾在ans中提到"这是否适合VB开发人员"。希望他能找到答案!