直列つなぎ。 -とある発達障害者の記録

知識と知識を繋ぐためのblog。 広汎性発達と診断されました。ぜんぜん役に立ってないけど。月収13万円、家賃4万円で生活するひつじ人間。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

 スポンサー広告

vbのマイクミュートを実現するアプリをC#に移植しょうとした記録

 


 さて、今回のテーマは 

 teratailでの質問も交えつつ(あそこも当たり外れが激しいな。安易にすぐ出るようなURLとか出すんじゃねーよ)、https://xfx.net/netcl/mxp/  で配布されているhttps://xfx.net/netcl/mxp/download.php(mpnetsetup.exe) をダウンロードし、セットアップを行うと現れるソースファイルの解析を行うというものだ。これはvbで書かれている。


 

vb(visual basic)は書き方こそ違うものの、C#と似通った部分も多い言語だ。
 海外のサイトにはVbのコードをC#に変換するという機能を提供してるサイトもあり、そちらを利用させてもらった。

紹介元サイト 

C#のコードをVB.NETへ変換する、VB.NETのコードをC#へ変換する 

より 

  http://www.carlosag.net/Tools/CodeTranslator/




 visual studioでもvbは利用できる(というかF#とか色んなのが使える)ので、vbでも実行しつつマイクミュート機能の解析を進めていこうと言う計画。




 まず、vbで実行してみた


 mpnetsetup.exe を実行→program Filesにインスト。

「MixerProNET」というフォルダにソースファイルとデモアプリが入っている。

160_C__Program Files (x86)_MixerProNET_SourceCode_WindowsMixer  


 (当然ながら)visual studio 2015 でvisual basicを選んで新規作成。

 Form1.vbは削除してしまう。


「SourceCode\WindowsMixer」フォルダ内のfrmAdv.vbとfrmMain.vbを「既存の項目」から追加する(frmAdv.vbはあまり必要ないと思うが)。

既存の項目

 

参照の追加で、mixeseProDll追加


MixerProNET.dllを追加。



構築されているプロジェクトのプロセッサ アーキテクチャ "MSIL" と、参照 "MixerProNET" のプロセッサ 。この不一致は、ランタイム エラーを発生させる可能性があります。プロジェクトと参照の間でプロセッサ アーキテクチャが一致するように、構成マネージャーを使用してターゲットとするプロジェクトのプロセッサ アーキテクチャを変更するか、ターゲットとするプロジェクトのプロセッサ アーキテクチャに一致するプロジェクト アーキテクチャとの依存関係を参照で設定することを検討してください。
 というエラーを消す。


下記のようにすればモウマンタイ。
x86.png
 

 



If e.Button = Windows.Forms.MouseButtons.Right Then
      はIf e.Button = MouseButtons.Right Then
   と直す。



あとは  Protected Overrides Sub OnCreateMainForm()
            Me.MainForm = Global.WindowsApplication2.frmMain
        End Sub 

 とすればエラーが消えて実行出来る。




mic_muteControl.png


 実行結果。

 同梱されている実行ファイルと全く同じものが出来る。

 マイクミュートまで実現している!・・・・という訳で、これの仕組みを理解しようとしてるところである。例の変換ツールでC#への移植を試みたが、上手く行かずに難航中。

 走ることは走るんだが。




C#へ移植

 ここで、「vbとC#は違うんだなぁ ...( = =) 」ということを実感する事になる。

 9割がたは何とかなったのだが。terateilでの質問を考えている。



関連記事
スポンサーサイト

 C#

- 0 Comments

Leave a comment

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。