2017年3月12日日曜日

C#のメンドウなところ C++だけじゃなくて Vb.netにも負ける

GetFileAttriburtesEx のラッパー作ってくれてないどとねと

以前もメンドウで実装をサボった機能がある
シンボリックリンクの現在値を評価する関数を作るのサボってた。
OblivionのMODを切り替えるのに、今の人はMOというのを使うらしい
しかしSkyrim向きなので少し工夫が必要だとチラッと見かけて「ああ、それなら自作しちゃえってんで簡単なフォルダ切り替えツールを作ってしまった。Dataをリンクにしてしまえば切り替えは簡単。
MODの干渉はゼロ(あたりまえだ別フォルダなのだから)
ついでにENBのON-OFF機能とOblivion.iniも簡単に引っ張れるようにはした(メチャ簡単なのだがボタン一発は大事)

でもSybolicLinkを切り替えるのもC#には無く(笑)Vbの関数を利用してて情けねえなあと思ったんだけどね。
さらにDataのシンボリックリンクが何を指してるか表示しようとしたらVBにも無いらしくC++のコードしかないwin32apiなのでラッパーを作るのはマイクロソフトさんの仕事だと思ったし、そのウチ実装されるだろってんで放置してた。

だけど今更作ってくれないらしく(まあ、パッド系+インターネット系の世界が主戦場なのでWin32の世界なんかどうでもいいんだろうね)サンプルを見ると、DLLIMPORTで長ーーーーーい
まるごととパクって戻り値を適当な長さの何かに入れて。
めんどくせー、Cならデータの並びの問題はあっても32bitだろうが64bitだろうがバイトの配列として好きに扱っちまえるんだけど。

とにかく、今はメンドウなのでブックマークだけしとこう
本家MS C++のみ、このやろー  SymbolicLink
pinvoke.net(ぴんぼけどっとねっとw) 素晴らしい
カニ太郎さんのブログ
(かに太郎さんありがとう、素晴らしい)

しかしメンドクセー、まあ、今のツールはOblivionフォルダの下にあるdataって名前の文字列フォルダの一覧は作るので、それ見ればどっち見てるか分かるから実装しなくても使えるかー(ワハハハ)





あー、もうNehrimを素直にOblivionに入れちゃえば良かたけど

0 件のコメント:

コメントを投稿