国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

在Visual Studio的Web頁面調(diào)用WinForm窗體方法

這篇具有很好參考價(jià)值的文章主要介紹了在Visual Studio的Web頁面調(diào)用WinForm窗體方法。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

? ? ? ? 在使用visual studio創(chuàng)建項(xiàng)目時(shí),網(wǎng)站主體使用Web Application創(chuàng)建,部分功能使用WinForm窗體搭建。當(dāng)時(shí)認(rèn)為都是基于vs平臺(tái)開發(fā)的項(xiàng)目,項(xiàng)目之間相互引用會(huì)很容易,但是實(shí)際上,web頁面由于采用b/s架構(gòu),和WinForm架構(gòu)不兼容,理論上是不允許web調(diào)用winform的。所以作為初學(xué)者想給大家分享一下我的解決方案。

? ? ? ? 在web里調(diào)用winform,實(shí)際是在web頁面里調(diào)用WinForm.exe這個(gè)位于本地的可執(zhí)行文件,通過注冊(cè)表調(diào)用這個(gè).exe文件實(shí)現(xiàn)目標(biāo)。文件在用戶存放winform項(xiàng)目的bin目錄里,如我的存放路徑是這樣子的“C:\Users\source\repos\winform窗體\winform窗體\bin\Debug”。

? ? ? ? 第一步:創(chuàng)建一個(gè)txt文本,進(jìn)行注冊(cè)表生成指令編輯。

Windows Registry Editor Version 5.00?
[HKEY_CLASSES_ROOT\AnmCAD]
@="AnmCADProtocol"?
"URL Protocol"="C:\\Users\\source\\repos\\winform窗體\\winform窗體\\bin\\Debug\\winform窗體.exe"?
[HKEY_CLASSES_ROOT\AnmCAD\DefaultIcon]?
@="C:\\Users\\source\\repos\\winform窗體\\winform窗體\\bin\\Debug\\winform窗體.exe,1"?
[HKEY_CLASSES_ROOT\AnmCAD\shell]?
[HKEY_CLASSES_ROOT\AnmCAD\shell\open]?
[HKEY_CLASSES_ROOT\AnmCAD\shell\open\command]?
@="\"C:\\Users\\source\\repos\\winform窗體\\winform窗體\\bin\\Debug\\winform窗體.exe\" \"%1\""

? ? ? ? ?大概解釋一下代碼,HKEY就是在注冊(cè)表里生成的文件夾順序(如果要?jiǎng)h除注冊(cè)表已添加的事件,只需在HKEY前寫一個(gè)減號(hào)即可),C:...路徑是.exe項(xiàng)目在計(jì)算機(jī)中存儲(chǔ)的絕對(duì)路徑,要注意,這里的分割符不同于在文件夾復(fù)制的地址,是兩個(gè)\\。AnmCAD是這個(gè)指令的名字。一會(huì)在web調(diào)用時(shí)會(huì)用到,可以按自己喜好去寫。寫完后更改文檔后綴名為.reg,雙擊執(zhí)行文件。可以在注冊(cè)表編輯器中看到文件已經(jīng)生成。在Visual Studio的Web頁面調(diào)用WinForm窗體方法,microsoft,c#,web

????????注意:這里有一個(gè)小的問題,因?yàn)槲业慕^對(duì)路徑里含有中文命名的文件,在編譯中可能會(huì)出現(xiàn)漢字亂碼導(dǎo)致無法正確指向可執(zhí)行文件?,所以最好檢查一下數(shù)據(jù)部分是否和寫入的一樣。如果不一樣直接復(fù)制剛才寫的絕對(duì)路徑,右鍵默認(rèn)點(diǎn)擊修改粘貼進(jìn)去。在Visual Studio的Web頁面調(diào)用WinForm窗體方法,microsoft,c#,web

?

? ? ? ? ?第二步:在web中引用剛才生成的注冊(cè)信息來調(diào)用exe文件

(1)<a href="AnmCAD://">調(diào)用AnmCAD</a>

????????直接在前端使用該語句調(diào)用,://一定要加這個(gè)符號(hào)才行。

(2)rocessStartInfo startInfo = new ProcessStartInfo("AnmCAD://");
? ? ? ? ? ? ?startInfo.WindowStyle = ProcessWindowStyle.Minimized;//設(shè)置窗體打開尺寸為最小號(hào)
? ? ? ? ? ? ?Process.Start(startInfo);//打開事件AnmCAD

? ? ? ? 使用button控件觸發(fā)后端事件,上述為后端代碼,進(jìn)行調(diào)用。

在Visual Studio的Web頁面調(diào)用WinForm窗體方法,microsoft,c#,web

?????????點(diǎn)擊后瀏覽器顯示如上彈窗,點(diǎn)擊打開即可完成調(diào)用。

????????總結(jié),在網(wǎng)頁中打開本地可執(zhí)行程序是一種危險(xiǎn)行為,所以這種方法要限制使用,測(cè)試中Microsoft 自帶瀏覽器可以執(zhí)行調(diào)用操作,如果還有更好的方法也可以評(píng)論區(qū)一起討論,本文采用的方法來自多個(gè)CSDN博客,具體實(shí)現(xiàn)的時(shí)候很混亂沒有記清是哪個(gè)博主的文章請(qǐng)見諒,只是總結(jié)一個(gè)可用的結(jié)果分享出來。入門小白分享的方法,有不足之處敬請(qǐng)批評(píng)指正。文章來源地址http://www.zghlxwxcb.cn/news/detail-758073.html

到了這里,關(guān)于在Visual Studio的Web頁面調(diào)用WinForm窗體方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包