!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
■Visual Studio 2017 Community(無償の統合開発環境)等はこちら
http://www.visualstudio.com/downloads/
■コードを貼る場合はこちら
http://ideone.com/
■前スレ
C#, C♯, C#相談室 Part94
https://mevius.5ch.net/test/read.cgi/tech/1553075856/
■次スレは>>970が建てる事。
建てられない場合は他を指定する事。
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
C#, C♯, C#相談室 Part96
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 7633-kUv4)
2021/12/20(月) 11:03:25.88ID:sdn/+VfW0226デフォルトの名無しさん (ブーイモ MM8f-LGrz)
2022/04/30(土) 12:20:54.96ID:UbbzWFWaM >>221
デリゲート呼び出しはそれ自体がまあまあ重いぞ
少なくとも条件分岐にboolとintどっちを使用するかなどという微々たる差を全く無視できる程度にはな
そしてデリゲート呼び出しも普通はIOに比べたら誤差だから全く無視してよい
デリゲート呼び出しはそれ自体がまあまあ重いぞ
少なくとも条件分岐にboolとintどっちを使用するかなどという微々たる差を全く無視できる程度にはな
そしてデリゲート呼び出しも普通はIOに比べたら誤差だから全く無視してよい
227デフォルトの名無しさん (ワッチョイ 0702-hGrh)
2022/04/30(土) 12:49:03.04ID:QtDBeglS0 簡易的に確認したいなら、
https://sharplab.io/
でResultにJIT Asm選べばアセンブリコード見れるぞ
単純な型なら、Release選ぶと殆ど元の型や関数呼び出し残らないのが確認出来る
https://sharplab.io/
でResultにJIT Asm選べばアセンブリコード見れるぞ
単純な型なら、Release選ぶと殆ど元の型や関数呼び出し残らないのが確認出来る
228デフォルトの名無しさん (ワッチョイ e724-OrLt)
2022/04/30(土) 13:57:37.11ID:UYlijuGg0229デフォルトの名無しさん (ワッチョイ fb6e-S2Xa)
2022/05/09(月) 19:30:59.59ID:BZKielY90 C#/MVVMでお絵かきソフトのようなことをやる必要があります。ドラッグして長方形を書いたり、それを選択して移動したりみたいな。多分inkcanvasとか使うんですかね?
それで色々と調べているのですが、コードビハインドから除外するというのがどうも難しくて何がなんだかわかりません。ビヘイビアだのコマンドだのどうやって実装したものか途方に暮れています
以前formsで同じようなものを作ってそのときは普通に実装出来たのでコードビハインドさえ使っていいなら普通に行けるだろうにという状況です
MVVMでviewのビハインドからコードを除外するというのはもう絶対に守るべきものなのでしょうか
それで色々と調べているのですが、コードビハインドから除外するというのがどうも難しくて何がなんだかわかりません。ビヘイビアだのコマンドだのどうやって実装したものか途方に暮れています
以前formsで同じようなものを作ってそのときは普通に実装出来たのでコードビハインドさえ使っていいなら普通に行けるだろうにという状況です
MVVMでviewのビハインドからコードを除外するというのはもう絶対に守るべきものなのでしょうか
230デフォルトの名無しさん (ワッチョイ cfe6-u2F+)
2022/05/09(月) 19:40:32.75ID:TPAlWSfJ0 必要なんだろ
出題者に聞けよ
出題者に聞けよ
231デフォルトの名無しさん (ワッチョイ aaf1-9/7F)
2022/05/09(月) 19:41:23.37ID:YUxIU5Ky0232デフォルトの名無しさん (ワッチョイ aa89-JO+5)
2022/05/09(月) 20:21:28.09ID:mjdEI+Ny0 >>229
原理主義者やっても幸せにはなれないぞ
原理主義者やっても幸せにはなれないぞ
233デフォルトの名無しさん (ブーイモ MMe6-nt15)
2022/05/09(月) 20:24:22.51ID:ns3gCkSAM234デフォルトの名無しさん (ワッチョイ da42-zDU0)
2022/05/09(月) 21:43:08.37ID:UnFDSJiw0 MVVM原理主義から見たらかなりインチキ臭いServiceってやり方で、MやVMからControlにアクセスするやり方が一般的かな
Canvasのプロパティーを持って、そこにアクセスするためのメソッドやプロパティーが入ったServiceクラスを作って、それを例えばVMのプロパティーにする
で、Viewが初期化された時にそのクラスを生成してプロパティーのCanvasに実態を設定する
そのクラスをVMの該当プロパティーにインジェクションする
わかりにくいだろうが、どっかに上手いこと書いてある解説でも探してくれ
Canvasのプロパティーを持って、そこにアクセスするためのメソッドやプロパティーが入ったServiceクラスを作って、それを例えばVMのプロパティーにする
で、Viewが初期化された時にそのクラスを生成してプロパティーのCanvasに実態を設定する
そのクラスをVMの該当プロパティーにインジェクションする
わかりにくいだろうが、どっかに上手いこと書いてある解説でも探してくれ
235デフォルトの名無しさん (ワッチョイ aaf1-9/7F)
2022/05/10(火) 08:48:07.33ID:CCpF9W9X0 普段c++でUIコントロール作ってるような開発者が
c#版作るからってわざわざMVVMなんか使うわけないでしょーーが
c#版作るからってわざわざMVVMなんか使うわけないでしょーーが
236デフォルトの名無しさん (ワッチョイ 3ebb-0tmp)
2022/05/10(火) 16:27:35.44ID:A0speGA90 普段WinFormとかでUI作ってる人に聞きたいんだけど
値の変化をリアルタイムでUIに反映する場合ってどうやってんの?
値が変化する箇所全てに画面の更新処理入れる感じ?
値の変化をリアルタイムでUIに反映する場合ってどうやってんの?
値が変化する箇所全てに画面の更新処理入れる感じ?
237デフォルトの名無しさん (ワッチョイ 7e33-SYw5)
2022/05/10(火) 17:07:52.87ID:Qwl7JHFX0 >>236
うちの場合は画面にUpdate()なりをつくって、そのメソッド内に基本的に全部のコントロールの更新処理を書いて、必要な時に呼び出してる。
DataGridViewなど必要な時にしか更新しないものは、Update(bool all)などで処理を分けて対応してるかな。
パフォーマンスに問題ない限りは、富豪的プログラミングが管理しやすいと思う。
うちの場合は画面にUpdate()なりをつくって、そのメソッド内に基本的に全部のコントロールの更新処理を書いて、必要な時に呼び出してる。
DataGridViewなど必要な時にしか更新しないものは、Update(bool all)などで処理を分けて対応してるかな。
パフォーマンスに問題ない限りは、富豪的プログラミングが管理しやすいと思う。
238デフォルトの名無しさん (アウアウウー Sa1f-e+q+)
2022/05/10(火) 17:15:20.22ID:O/q6MN3Ra SetValueWithRefresh(newvalue)みたいな代入と更新同時にする関数作って代入はそれでやれってするとか
プロパティのsetterにonvaluechangeみたいなeventhandlerおいといてそこ経由して更新させるとか
ちまちま代入と同時に更新処理直接呼ぶとか
>>237みたいな富豪的なのもあるな
状況によりけりだよ
プロパティのsetterにonvaluechangeみたいなeventhandlerおいといてそこ経由して更新させるとか
ちまちま代入と同時に更新処理直接呼ぶとか
>>237みたいな富豪的なのもあるな
状況によりけりだよ
239デフォルトの名無しさん (オイコラミネオ MM9b-1CQB)
2022/05/10(火) 17:40:18.23ID:e+qIs2vlM >>236
ReactiveExtensions
ReactiveExtensions
240デフォルトの名無しさん (ワッチョイ 9f02-HkNE)
2022/05/10(火) 17:58:34.60ID:Bl3IG8H50 シンプルにやるなら、Timerから更新用のメソッド呼べばいいんじゃね
241デフォルトの名無しさん (ワッチョイ 2f2f-vjB4)
2022/05/10(火) 22:55:43.68ID:eH6jeiBY0242デフォルトの名無しさん (テテンテンテン MMe6-0R8h)
2022/05/13(金) 13:29:25.82ID:c/0e0c1OM 初心者です。
c#でアプリ作成したのですが、自己署名証明書がないと、アプリ起動時、発行元不明の警告が出ますよね?
みなさんどうやってその警告を回避してますか?
何かいい方法があれば教えてほしいです。
c#でアプリ作成したのですが、自己署名証明書がないと、アプリ起動時、発行元不明の警告が出ますよね?
みなさんどうやってその警告を回避してますか?
何かいい方法があれば教えてほしいです。
243デフォルトの名無しさん (アウアウウー Sa1f-e+q+)
2022/05/13(金) 14:18:26.21ID:UQ7pCVsua 配布するなら正攻法は証明書取得
個人でもできる。公証人に書類つくってもらって証明機関に申請すればいい。5年ごとに8万円ぐらい
個人でもできる。公証人に書類つくってもらって証明機関に申請すればいい。5年ごとに8万円ぐらい
244デフォルトの名無しさん (ワッチョイ da42-zDU0)
2022/05/13(金) 14:33:27.72ID:msJ+xhZt0 一番安いのはWindowsStoreで、一度だけ18か18ドルぐらい払えばよかったはず
245デフォルトの名無しさん (ワッチョイ cbba-0R8h)
2022/05/13(金) 18:46:21.48ID:TYJN2jsR0246デフォルトの名無しさん (ワッチョイ 2f2f-vjB4)
2022/05/13(金) 22:05:38.65ID:pmeFRqGo0 つか自己署名なら自分で勝手に作ればいいわけで...
自己署名じゃないちゃんとした証明書が必要なんだろうと
自己署名じゃないちゃんとした証明書が必要なんだろうと
247デフォルトの名無しさん (ワッチョイ cbba-0R8h)
2022/05/13(金) 22:24:43.10ID:TYJN2jsR0 >>246
自己署名の話を皆様に聞いた理由は、他の人のPCにインストールした際に、不明な発行元と表示されてしまうのを回避したい と言う理由だけなんです。
不明な発行元と警告が出る種類も何パターンかありますよね?
フォームで出るパターン と、ブルースクリーンの様な画面で出るパターン
この両方の警告に対応するには、お金を支払い自己署名するしかないのかなあと漠然と考えてました。
その自分で作成する方法(オレオレ自己署名)も見たのですが、アプリではない感じだったので、、あまり詳しく理解できていません。。
自己署名の話を皆様に聞いた理由は、他の人のPCにインストールした際に、不明な発行元と表示されてしまうのを回避したい と言う理由だけなんです。
不明な発行元と警告が出る種類も何パターンかありますよね?
フォームで出るパターン と、ブルースクリーンの様な画面で出るパターン
この両方の警告に対応するには、お金を支払い自己署名するしかないのかなあと漠然と考えてました。
その自分で作成する方法(オレオレ自己署名)も見たのですが、アプリではない感じだったので、、あまり詳しく理解できていません。。
248デフォルトの名無しさん (ワッチョイ becf-HkNE)
2022/05/13(金) 22:29:59.42ID:cpvIzMAY0 「自己署名」を間違えて理解してるんじゃね?
249デフォルトの名無しさん (ワッチョイ cbba-0R8h)
2022/05/13(金) 22:55:59.91ID:TYJN2jsR0250デフォルトの名無しさん (ワッチョイ 2e2d-HNGk)
2022/05/13(金) 23:18:12.14ID:S8Zs+Y9A0251デフォルトの名無しさん (アウアウウー Sa1f-e+q+)
2022/05/13(金) 23:41:37.05ID:btyzcX5fa >>249は認識あってるよ
>>248はたぶん自己署名=オレオレ署名と勘違いしてるだけ
発行してもらった正規のでもオレオレのを使っても自己署名には変わらない
自己署名 =自分でexeに対して電子署名すること
電子署名 =電子的な署名
電子証明書=自己署名やsslなどで必要になるやつ(一般的には公的機関からのものを指すけど、自分で作ったのも含む)
オレオレ証明書 =自分で作った電子証明書
オレオレ署名 =オレオレ証明書を使った電子署名
コードサイニング証明書=電子証明書のうち、exeなどの署名に特化したもの(公的機関から買う。自分で作ったのは汎用的だからこう呼ぶことはない)
自己署名証明書 ≒コードサイニング証明書
>>248はたぶん自己署名=オレオレ署名と勘違いしてるだけ
発行してもらった正規のでもオレオレのを使っても自己署名には変わらない
自己署名 =自分でexeに対して電子署名すること
電子署名 =電子的な署名
電子証明書=自己署名やsslなどで必要になるやつ(一般的には公的機関からのものを指すけど、自分で作ったのも含む)
オレオレ証明書 =自分で作った電子証明書
オレオレ署名 =オレオレ証明書を使った電子署名
コードサイニング証明書=電子証明書のうち、exeなどの署名に特化したもの(公的機関から買う。自分で作ったのは汎用的だからこう呼ぶことはない)
自己署名証明書 ≒コードサイニング証明書
252デフォルトの名無しさん (ブーイモ MM8a-vr7z)
2022/05/13(金) 23:59:49.70ID:I/jceGHeM すごい認識だな
253デフォルトの名無しさん (ワッチョイ 9b2f-PM07)
2022/05/14(土) 00:14:27.18ID:3IgnexNy0254デフォルトの名無しさん (ワッチョイ 736a-Q28P)
2022/05/14(土) 00:31:05.21ID:multK6hC0 あ、オレオレ定義のアウアウウーさんだ
255デフォルトの名無しさん (アウアウウー Sa31-mOD9)
2022/05/14(土) 00:45:49.42ID:q1SIpySda256デフォルトの名無しさん (ワッチョイ 9b2f-PM07)
2022/05/14(土) 01:12:09.43ID:3IgnexNy0 >>255
つまりお前は自己署名証明書での署名も「まともな署名」としてあつかうんだな
つまりお前は自己署名証明書での署名も「まともな署名」としてあつかうんだな
257デフォルトの名無しさん (ワッチョイ abcf-7P1Y)
2022/05/14(土) 01:17:06.48ID:YyWH0a110258デフォルトの名無しさん (ワッチョイ abcf-7P1Y)
2022/05/14(土) 01:23:01.16ID:YyWH0a110 >自己署名 =自分でexeに対して電子署名すること
なんだこれ?こんな用法見たことない。
なんだこれ?こんな用法見たことない。
259デフォルトの名無しさん (ワッチョイ d32d-hFP2)
2022/05/14(土) 01:40:53.18ID:41BaXtRu0 >>251,255
その出鱈目どこで覚えた?
字面から想像しただけかな
https://e-words.jp/w/%E8%87%AA%E5%B7%B1%E7%BD%B2%E5%90%8D%E8%A8%BC%E6%98%8E%E6%9B%B8.html
その出鱈目どこで覚えた?
字面から想像しただけかな
https://e-words.jp/w/%E8%87%AA%E5%B7%B1%E7%BD%B2%E5%90%8D%E8%A8%BC%E6%98%8E%E6%9B%B8.html
260デフォルトの名無しさん (テテンテンテン MM17-7Nhq)
2022/05/14(土) 10:41:44.00ID:XXC0KMFKM261デフォルトの名無しさん (ワッチョイ 3133-Q+cg)
2022/05/14(土) 21:16:53.25ID:D+nf+blC0 C#って移植性は高いんですか?入門書をのぞいてみたけどGUIの項目ではWindows限定でした
262デフォルトの名無しさん (ワッチョイ abba-tmIb)
2022/05/14(土) 23:51:51.56ID:6ACM/5dE0 242 の質問者です。
僕の質問が悪かったせいで、少し雰囲気を悪くさせてしまった様で申し訳ありませんでした。
改めて質問させてください。
コードサイニング証明書の取得はどこが1番、費用が安いでしょうか?
聞くだけではダメなので、自分でもネットで調べてみました。
個人的にてはありますが、海外のECサイトで、1年で99ドルというものもありました。
ttps://blog.katsubemakito.net/articles/buy-comodo-codesigning
日本だと、1年で2万円が最安値?と認識してます。
僕の質問が悪かったせいで、少し雰囲気を悪くさせてしまった様で申し訳ありませんでした。
改めて質問させてください。
コードサイニング証明書の取得はどこが1番、費用が安いでしょうか?
聞くだけではダメなので、自分でもネットで調べてみました。
個人的にてはありますが、海外のECサイトで、1年で99ドルというものもありました。
ttps://blog.katsubemakito.net/articles/buy-comodo-codesigning
日本だと、1年で2万円が最安値?と認識してます。
263デフォルトの名無しさん (ワッチョイ c702-yXul)
2022/05/15(日) 00:04:11.57ID:tGTiPFBf0 それ、そんなに必要なものか?
ネットに転がってるフリーソフト使ってたらガンガン出るけど
ネットに転がってるフリーソフト使ってたらガンガン出るけど
264デフォルトの名無しさん (ワッチョイ c702-yXul)
2022/05/15(日) 00:06:57.20ID:tGTiPFBf0 そもそも海外のよくわかんねー機関に金積んで得られるものに何の信用があるのよ?
265デフォルトの名無しさん (ワッチョイ d32d-hFP2)
2022/05/15(日) 00:26:37.67ID:Ipi6C5sV0 WIndowsで使えるってことはMSがその認証機関を信用してるってこと
認証機関がいい加減な仕事をして信用を失うとそこのルート証明書が無効化される
認証機関がいい加減な仕事をして信用を失うとそこのルート証明書が無効化される
266デフォルトの名無しさん (ワッチョイ b342-lIli)
2022/05/15(日) 00:57:30.11ID:ZqvBN/g40 圧倒的に安いのはMSのWindowsStore
費用は大体2000円ぐらいで生涯使えるし、一つのアカウントを使い続けるならアプリは何本でも追加費用は取られない
問題はUWP,WinUI3で作るか、WpfやWinFormsならMSIX形式のインストーラに変更することとMSの審査があるのでそれを通さないといけないこと
Windows10仕様のアイコンも作らないといけない
費用は大体2000円ぐらいで生涯使えるし、一つのアカウントを使い続けるならアプリは何本でも追加費用は取られない
問題はUWP,WinUI3で作るか、WpfやWinFormsならMSIX形式のインストーラに変更することとMSの審査があるのでそれを通さないといけないこと
Windows10仕様のアイコンも作らないといけない
267デフォルトの名無しさん (ワッチョイ efd2-ydBh)
2022/05/15(日) 00:58:59.47ID:LE0M373c0 便乗して質問だけどこういう認証ってのは
配布するインストーラのバイナリが「改竄されていない」、「配布元が会社名 CO LTD.を名乗る権利がある」ってのを保証してくれるだけ?
保証元として信用するのはデフォルトではMicrosoft(かMicrosoftが認証してる保証会社)だけって認識だけど
配布するインストーラのバイナリが「改竄されていない」、「配布元が会社名 CO LTD.を名乗る権利がある」ってのを保証してくれるだけ?
保証元として信用するのはデフォルトではMicrosoft(かMicrosoftが認証してる保証会社)だけって認識だけど
268デフォルトの名無しさん (ワッチョイ d32d-hFP2)
2022/05/15(日) 01:38:10.49ID:Ipi6C5sV0 >>267
「配布元が会社名 CO LTD.を名乗る権利がある」じゃなくて「アプリの配布元(がなりすましされていないこと)」の保証だね
個人でも取得できるコードサイニング証明書は無条件にはMSに信用されてなくて最初の内はSmartScreenが表示される(らしい)
法人しか取得できないEVコードサイニング証明書なら最初からSmartScreenは表示されない
後者は法人の存在確認が定期的にあったりより厳密
「配布元が会社名 CO LTD.を名乗る権利がある」じゃなくて「アプリの配布元(がなりすましされていないこと)」の保証だね
個人でも取得できるコードサイニング証明書は無条件にはMSに信用されてなくて最初の内はSmartScreenが表示される(らしい)
法人しか取得できないEVコードサイニング証明書なら最初からSmartScreenは表示されない
後者は法人の存在確認が定期的にあったりより厳密
269デフォルトの名無しさん (ワッチョイ d32d-hFP2)
2022/05/15(日) 01:38:43.97ID:Ipi6C5sV0 厳密じゃなくて厳格か
270デフォルトの名無しさん (ワッチョイ c702-yXul)
2022/05/15(日) 03:02:38.88ID:tGTiPFBf0 成りすまし/改ざん防止なら最近添えるのが流行りのpgpとかで十分なんじゃないの、何か悪い事が起きても俺じゃなくて他人が手を加えたせいだ、という証明にはなるから自己防衛には十分だろ
逆に言えば何かあったら言い逃れできないけど、認証機関を介さないが故に個人情報とは切り離せるわけで、トンズラも可能
書き手にとってはとても都合がいい
逆に言えば何かあったら言い逃れできないけど、認証機関を介さないが故に個人情報とは切り離せるわけで、トンズラも可能
書き手にとってはとても都合がいい
271デフォルトの名無しさん (ワッチョイ d32d-hFP2)
2022/05/15(日) 10:26:11.54ID:Ipi6C5sV0272デフォルトの名無しさん (テテンテンテン MM17-Hrmj)
2022/05/15(日) 15:14:46.24ID:F+SXCyPNM サイン証明って実はリソース部分書き換えてもついたままなをだよな。
273デフォルトの名無しさん (ワッチョイ 9fda-Zpy8)
2022/05/15(日) 21:35:20.30ID:9FqWYCkM0 リソースってのはCOFF的には只の特殊セグメントなんでな
更に、ユーザー定義リソースってどんなデーターでも
格納出来る形式があってだな、we留守の格納に...おや誰か来たようだ
更に、ユーザー定義リソースってどんなデーターでも
格納出来る形式があってだな、we留守の格納に...おや誰か来たようだ
274デフォルトの名無しさん (ワッチョイ 737f-yvGd)
2022/05/16(月) 06:56:14.67ID:6t2iMJ0O0 SmartScreenの警告はダウンロードしたときに
「ファイル名:Zone.Identifier」が勝手に作成されて起動時にチェックしてる
「ファイル名:Zone.Identifier」が勝手に作成されて起動時にチェックしてる
275デフォルトの名無しさん (ワッチョイ 27e6-hFP2)
2022/05/17(火) 22:43:59.32ID:U++gJ6eR0 TreeViewとかListViewの使い方が載っている本を教えてください。
276デフォルトの名無しさん (ワッチョイ 2b6e-Suzn)
2022/05/17(火) 22:55:59.31ID:vPKF91U40277デフォルトの名無しさん (オイコラミネオ MM49-yvGd)
2022/05/17(火) 23:41:38.48ID:C7nZqj5bM278デフォルトの名無しさん (ワッチョイ 9fda-Zpy8)
2022/05/18(水) 00:14:57.64ID:2qQDAoA/0279デフォルトの名無しさん (ワッチョイ 27e6-hFP2)
2022/05/18(水) 21:10:13.07ID:dKdqkOyw0280デフォルトの名無しさん (ワッチョイ b342-lIli)
2022/05/18(水) 21:31:33.31ID:diUTiqLR0 nLogは5.0からdatabase名前空間のパッケージが独立した
破壊的変更の場合はもう少しわかりやすいところに変更書いてくれよ
nlog.databaseを追加すりゃいいだけなんだけどさ
破壊的変更の場合はもう少しわかりやすいところに変更書いてくれよ
nlog.databaseを追加すりゃいいだけなんだけどさ
281デフォルトの名無しさん (ワッチョイ f101-Lfyp)
2022/05/18(水) 21:35:57.04ID:iR7wkq9I0 >>279
本屋さんにこの手の専門書はほぼないだろうなぁ
本屋さんにこの手の専門書はほぼないだろうなぁ
282デフォルトの名無しさん (オイコラミネオ MM49-yvGd)
2022/05/18(水) 23:44:43.59ID:5wqn8ALkM 本には詳しい説明は書いてないのでやりたいことを検索窓に突っ込んだ方がまし
listview databinding item 幅いっぱいとかw
listview databinding item 幅いっぱいとかw
283デフォルトの名無しさん (ワッチョイ 3fac-YYQQ)
2022/05/19(木) 00:15:57.29ID:uGnwJzVO0 NLogお世話になってます
284デフォルトの名無しさん (ワッチョイ 27e6-hFP2)
2022/05/19(木) 23:10:43.67ID:VcSHhdY40 Windows95の時代にC#があったかな。
285デフォルトの名無しさん (ワッチョイ 2b68-yvGd)
2022/05/20(金) 00:57:04.11ID:R6FV90Kc0 相談です。
ランチャーを作りたいなと思い起動時は非表示(非アクティブ)に
何かのキーを押されたら表示したいのです。
アプリが非アクティブの時でもキーボードの入力イベントを取得する方法は無いでしょうか?
ランチャーを作りたいなと思い起動時は非表示(非アクティブ)に
何かのキーを押されたら表示したいのです。
アプリが非アクティブの時でもキーボードの入力イベントを取得する方法は無いでしょうか?
286デフォルトの名無しさん (ワッチョイ 2d5f-ljAb)
2022/05/20(金) 01:34:48.57ID:eaUqMOJr0 >>285
グローバルフック
グローバルフック
287デフォルトの名無しさん (ワッチョイ 0e68-eugl)
2022/05/21(土) 02:00:44.14ID:pmnVOflo0 >>286
サンクス!
WPFで作ってるんだけどグローバルフックを調べて組み込んでみました。
MainWindowをHideするとグローバルフックが効かなくなるので
MainWindowは描画をせずグローバルフックを動かして、
子WindowにWindowを描画してHide/Showするようにしたらなんとか形になりました。
こんなのでいいのかなんだかすっきりせず。
サンクス!
WPFで作ってるんだけどグローバルフックを調べて組み込んでみました。
MainWindowをHideするとグローバルフックが効かなくなるので
MainWindowは描画をせずグローバルフックを動かして、
子WindowにWindowを描画してHide/Showするようにしたらなんとか形になりました。
こんなのでいいのかなんだかすっきりせず。
288デフォルトの名無しさん (ワッチョイ bb5f-fQ5s)
2022/05/21(土) 10:29:06.89ID:XiDxIIx00 >>287
なんでだろ?メインウィンドウからフック仕掛けてる?
Formsの頃の記憶だけど、Application.run以前にSingletonな管理クラス作ってやってた。
そいつからイベント送られてくるようにしてたよ。
それで問題なかったはずだけど、なんか変わったんのかな。
なんでだろ?メインウィンドウからフック仕掛けてる?
Formsの頃の記憶だけど、Application.run以前にSingletonな管理クラス作ってやってた。
そいつからイベント送られてくるようにしてたよ。
それで問題なかったはずだけど、なんか変わったんのかな。
289デフォルトの名無しさん (ワッチョイ 8b01-H9jD)
2022/05/21(土) 14:05:38.07ID:2Lltosx/0 以前HotKeyで作ったけど中身はグローバルフックなんかな
290デフォルトの名無しさん (ワッチョイ 5b24-HkEA)
2022/05/21(土) 15:40:41.47ID:4jCCGHc40 Utf8Parser.TryParse(span, out DateTime date, out _, 'O')について聞きたいんだけど、以下の文字列はUtf8Bytesとして
"2022-01-01T00:00:00.0000000Z" ← 28文字のこれなら正常に成功するのに
"2022-01-01T00:00:00.000000Z" ← 27文字のこっちは失敗する
DateTime.TryParseなら後者も成功するんだけどこれはUtf8Parserがポンコツってこと?
それともDateTime.TryParseがオーバー解析してくれてるだけで28文字未満の"O"形式のDateTime投げてくる方が非常識?
"2022-01-01T00:00:00.0000000Z" ← 28文字のこれなら正常に成功するのに
"2022-01-01T00:00:00.000000Z" ← 27文字のこっちは失敗する
DateTime.TryParseなら後者も成功するんだけどこれはUtf8Parserがポンコツってこと?
それともDateTime.TryParseがオーバー解析してくれてるだけで28文字未満の"O"形式のDateTime投げてくる方が非常識?
291デフォルトの名無しさん (ワッチョイ 6778-eugl)
2022/05/21(土) 15:55:42.97ID:cfNQUnEf0292デフォルトの名無しさん (ワッチョイ 3e2d-5qYK)
2022/05/21(土) 16:15:24.74ID:ec9yQBCj0 >>290
失敗しても仕様の範囲内ぽい
> ラウンドトリップ ("O"、"o") 書式指定子
> "O" または "o" 標準書式指定子は、DateTime 値の "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffK" カスタム書式指定文字列と
> DateTimeOffset 値の "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffzzz" カスタム書式指定文字列に対応します。
失敗しても仕様の範囲内ぽい
> ラウンドトリップ ("O"、"o") 書式指定子
> "O" または "o" 標準書式指定子は、DateTime 値の "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffK" カスタム書式指定文字列と
> DateTimeOffset 値の "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffzzz" カスタム書式指定文字列に対応します。
293sage (ワッチョイ cebb-8jyA)
2022/05/21(土) 16:43:22.42ID:0fNBsESd0 27文字のが来る状況あるんだっけ?
294デフォルトの名無しさん (ワッチョイ 0e68-eugl)
2022/05/21(土) 18:38:40.30ID:hT1fnPAH0 >>288
レスありがとう!
MainWindowからフックしています。
シングルトンにはしてないですが、MainWindowは生きているので、
フック自体は破棄されていませんが、どうもダメでした・・・
レスありがとう!
MainWindowからフックしています。
シングルトンにはしてないですが、MainWindowは生きているので、
フック自体は破棄されていませんが、どうもダメでした・・・
295デフォルトの名無しさん (ワッチョイ 4e7b-fxJh)
2022/05/21(土) 21:45:54.24ID:8HM5gfhu0 >>285
特定のキーで表示ならSystem.Timers.Timer使ってGetKeyStateとかでキー入力監視
キーがヒットしたらタイマー止めて目的のウィンドウを表示
ずっと監視するのが嫌でなければ実装はかなり楽な方かと
アプリランチャーならタスクトレイに格納してマウスクリックで表示させての方が使いやすい気がするけど
特定のキーで表示ならSystem.Timers.Timer使ってGetKeyStateとかでキー入力監視
キーがヒットしたらタイマー止めて目的のウィンドウを表示
ずっと監視するのが嫌でなければ実装はかなり楽な方かと
アプリランチャーならタスクトレイに格納してマウスクリックで表示させての方が使いやすい気がするけど
296デフォルトの名無しさん (ワッチョイ 2702-SjAR)
2022/05/22(日) 01:09:06.35ID:7HW4nX7o0 RawInputでいいんじゃね
297デフォルトの名無しさん (ワッチョイ 0e68-eugl)
2022/05/22(日) 01:44:20.92ID:xpEgvjj30298デフォルトの名無しさん (ワッチョイ 5b24-HkEA)
2022/05/22(日) 09:35:29.30ID:gmOf9ICx0299デフォルトの名無しさん (ブーイモ MMe7-WhUL)
2022/05/22(日) 10:21:24.48ID:GyF0oANxM 悪いけど、Webのレスポンスだったら最初から全部UTF16でやっても全くパフォーマンス変わらないと思うよ
300デフォルトの名無しさん (ワッチョイ 5b24-HkEA)
2022/05/22(日) 11:48:59.69ID:gmOf9ICx0 >>299
そんな大きなペナルティがあるとは思ってないけど全く変わらないというのはどういう原理で?
JsonDocument.Parse(response.Content.ReadAsStream())みたいな感じでやってるけど、これだとUtf8のままパースされてるよね
そんな大きなペナルティがあるとは思ってないけど全く変わらないというのはどういう原理で?
JsonDocument.Parse(response.Content.ReadAsStream())みたいな感じでやってるけど、これだとUtf8のままパースされてるよね
301デフォルトの名無しさん (スッップ Sdba-WhUL)
2022/05/22(日) 15:34:34.14ID:Nn/6kHB8d 用途次第じゃない?
HTTPSの通信に比べればJSONのデコードなんか誤差だから単一の処理で見るなら全く意味ないだろうけど、
もし大量のリクエストを捌くサーバーを作っているならCPUやメモリの使用率を削減することでサーバーのインスタンス数を削減できるかもしれない
HTTPSの通信に比べればJSONのデコードなんか誤差だから単一の処理で見るなら全く意味ないだろうけど、
もし大量のリクエストを捌くサーバーを作っているならCPUやメモリの使用率を削減することでサーバーのインスタンス数を削減できるかもしれない
302デフォルトの名無しさん (ワッチョイ 2702-SjAR)
2022/05/22(日) 16:53:52.96ID:7HW4nX7o0 そこまでシビアなら、他にもっと先に見直す所があると思うけど
303デフォルトの名無しさん (ワッチョイ f96e-yO3c)
2022/05/29(日) 18:01:05.65ID:Gx8AtDBv0 WindowsFormはそれなりに少し経験はあるんですが行き詰まっているので相談です
centos7にapach上で、これまでhttpd.confにAliasで特定のドキュメントルーツを設定して
phpでつくったWebアプリをいくつか動かしている環境があり、ここに新たに
Blazorサーバやってみようと、dotnetインストールしてrunまではできてます
(配置したdllを実行するserviceをつくってそれも起動可能な状態)
phpでつくったアプリのようにAliasで簡単にできるかなと思ってたらそうでもなく
サイトググるとVirtualHostの例がちらほら
example.com/app1 ・・・ var/www/app1 にphpアプリ配置
example.com/app2 ・・・var/www/app2 にphpアプリ配置
example.com/blazor を新たに配置するにはどの辺調べればいいですかね
MSのドキュメントやBlazorや先日でたNET6の書籍とか見ながらいろいろやってはみたものの
どれもうまくいかず、行き詰まっております(方向性を見失ってます)
リクエストきたものをkestrelに渡してやらなきゃいけないってのはなんとなく理解してますが
VirtualHostとリバースプロキシをきちんと理解しないでできないですかね
centos7にapach上で、これまでhttpd.confにAliasで特定のドキュメントルーツを設定して
phpでつくったWebアプリをいくつか動かしている環境があり、ここに新たに
Blazorサーバやってみようと、dotnetインストールしてrunまではできてます
(配置したdllを実行するserviceをつくってそれも起動可能な状態)
phpでつくったアプリのようにAliasで簡単にできるかなと思ってたらそうでもなく
サイトググるとVirtualHostの例がちらほら
example.com/app1 ・・・ var/www/app1 にphpアプリ配置
example.com/app2 ・・・var/www/app2 にphpアプリ配置
example.com/blazor を新たに配置するにはどの辺調べればいいですかね
MSのドキュメントやBlazorや先日でたNET6の書籍とか見ながらいろいろやってはみたものの
どれもうまくいかず、行き詰まっております(方向性を見失ってます)
リクエストきたものをkestrelに渡してやらなきゃいけないってのはなんとなく理解してますが
VirtualHostとリバースプロキシをきちんと理解しないでできないですかね
304デフォルトの名無しさん (ワッチョイ f96e-yO3c)
2022/05/29(日) 18:02:59.94ID:Gx8AtDBv0 ドキュメントルーツ・・・ドキュメントルートです
すみません
すみません
305デフォルトの名無しさん (ブーイモ MM4b-1gLZ)
2022/05/29(日) 19:36:38.11ID:kVtoPC2XM IISでホストしてApache側でVirtualHostの指定でリバースプロキシすりゃいいよ
頭悪い構成だが、その調子だとリバースプロキシの設定はなんとかなってもどうせdotnetアプリを常時起動する方法が見当つかないんだろ?
頭悪い構成だが、その調子だとリバースプロキシの設定はなんとかなってもどうせdotnetアプリを常時起動する方法が見当つかないんだろ?
306デフォルトの名無しさん (ワッチョイ 3978-yO3c)
2022/05/29(日) 20:08:21.68ID:DRuRn6I70 >>303
リバースプロキシ使用時はhttps使わない構成にしなきゃダメだぞ
リバースプロキシ使用時はhttps使わない構成にしなきゃダメだぞ
307デフォルトの名無しさん (オイコラミネオ MM9d-rAsz)
2022/05/29(日) 20:15:46.80ID:1ETRcw7wM308デフォルトの名無しさん (アウアウウー Sac5-sxTc)
2022/05/30(月) 04:15:11.38ID:JkhndRSZa 数か月ぶりでここ覗いてみたけどまだ結構人がいるみたいでちょっと安心したw
以前は旧FireFoxのChaikaってアドオンをだましだまし使ってたんだが、(それがいよいよ
使えなくなったのが来なくなった理由)今回JaneStyleを入れてみたが、作者さんを批判する訳じゃないが、
UIは25年前のWin98時代のものだし鬱陶しいエロ広告は表示されるし結構萎えるなこれ
C#といっこも関係ない話題ですまん
以前は旧FireFoxのChaikaってアドオンをだましだまし使ってたんだが、(それがいよいよ
使えなくなったのが来なくなった理由)今回JaneStyleを入れてみたが、作者さんを批判する訳じゃないが、
UIは25年前のWin98時代のものだし鬱陶しいエロ広告は表示されるし結構萎えるなこれ
C#といっこも関係ない話題ですまん
309デフォルトの名無しさん (ワッチョイ f96e-yO3c)
2022/05/30(月) 08:09:38.08ID:n9/aIkj20 みなさんレスありがとうございます
>>305
serviceつくって常時起動はできてるかなと思います
>>306 >>307
稼働WEBサーバはhttpsのみなので、ってことは今の構成でそのままっていかないんですね
(Rewriteでhttpをhttpsにしている)
ネットの設定例にある、http://localhost~; をhttpsにしていましたが
ネットで見つけられた設定例って、そのサーバの全アクセスをリバースプロキシさせるようなものがほとんどで
自ドメインの特定のアドレス(上でいう、example.com/blazor)だけを
リバースプロキシさせてdotnetが受け取れるようにってできないもんでしょうか?
できるということであれば、どうにかして調べます
バーチャルホストは複数のドメインを扱ってて、Aliasは同じドメインで複数のドキュメントルートを扱えると
考えているので、やりたいことはバーチャルホストでできないんじゃないかなと思ってるんですが
サブドメインにしちゃえば1つのドメインでもやれますかね
>>305
serviceつくって常時起動はできてるかなと思います
>>306 >>307
稼働WEBサーバはhttpsのみなので、ってことは今の構成でそのままっていかないんですね
(Rewriteでhttpをhttpsにしている)
ネットの設定例にある、http://localhost~; をhttpsにしていましたが
ネットで見つけられた設定例って、そのサーバの全アクセスをリバースプロキシさせるようなものがほとんどで
自ドメインの特定のアドレス(上でいう、example.com/blazor)だけを
リバースプロキシさせてdotnetが受け取れるようにってできないもんでしょうか?
できるということであれば、どうにかして調べます
バーチャルホストは複数のドメインを扱ってて、Aliasは同じドメインで複数のドキュメントルートを扱えると
考えているので、やりたいことはバーチャルホストでできないんじゃないかなと思ってるんですが
サブドメインにしちゃえば1つのドメインでもやれますかね
310デフォルトの名無しさん (オイコラミネオ MM9d-rAsz)
2022/05/30(月) 08:44:27.76ID:terzLTfjM できるよ
311デフォルトの名無しさん (ワッチョイ 4910-yO3c)
2022/05/30(月) 14:27:32.28ID:rKCebS3v0 >>310
ありがとうございます
後者の方はhttpでうまくできました
ただ、実際はユーザーからhttpsでつながせたいのですが
証明書がないのでブラウザで開いても動作確認できず
メインドメインのSSL証明書だと、ワイルドカードだと割高なのでドメインを
追加するしかないかなと思うのですが、
VirtualHostの設定内に取得した証明書の設定書いてやれば
httpsで動作させることができると考えてもいいんでしょうか?
下みたいな感じで。前者の方ならそんな手間も費用もいらないんでしょうが、方法がみつからない
<VirtualHost *:443>
ServerName hoge.example.com
ProxyPreserveHost On
ProxyPass / https://localhost:5001/
ProxyPassReverse / https://localhost:5001/
RewriteEngine on
RewriteCond %{HTTPS} on
RewriteCond %{HTTPS:UPGRADE} ^WebSocket$ [NC]
RewriteCond %{HTTPS:CONNECTION} Upgrade$ [NC]
RewriteRule /(.*) ws://127.0.0.1:5001/$1 [P]
ありがとうございます
後者の方はhttpでうまくできました
ただ、実際はユーザーからhttpsでつながせたいのですが
証明書がないのでブラウザで開いても動作確認できず
メインドメインのSSL証明書だと、ワイルドカードだと割高なのでドメインを
追加するしかないかなと思うのですが、
VirtualHostの設定内に取得した証明書の設定書いてやれば
httpsで動作させることができると考えてもいいんでしょうか?
下みたいな感じで。前者の方ならそんな手間も費用もいらないんでしょうが、方法がみつからない
<VirtualHost *:443>
ServerName hoge.example.com
ProxyPreserveHost On
ProxyPass / https://localhost:5001/
ProxyPassReverse / https://localhost:5001/
RewriteEngine on
RewriteCond %{HTTPS} on
RewriteCond %{HTTPS:UPGRADE} ^WebSocket$ [NC]
RewriteCond %{HTTPS:CONNECTION} Upgrade$ [NC]
RewriteRule /(.*) ws://127.0.0.1:5001/$1 [P]
312デフォルトの名無しさん (ワッチョイ 4910-yO3c)
2022/05/30(月) 14:30:41.80ID:rKCebS3v0 SSL部分書き忘れましたが、書き方は省略します
SSLEngine on
SSLCertificateFile [crtのパス]~~以下略
SSLEngine on
SSLCertificateFile [crtのパス]~~以下略
313デフォルトの名無しさん (ワッチョイ d38b-yO3c)
2022/05/30(月) 15:23:01.71ID:/JK2MYXZ0 俺はPHPも使えるんだぜ
すげーなおれ
すげーなおれ
314デフォルトの名無しさん (ワッチョイ 4910-yO3c)
2022/05/30(月) 16:31:04.22ID:rKCebS3v0 >>311はいちど撤回します
Program.csでapp.UseHttpsRedirection()が抜けてたのでそれを加えつつ
前者の方をLocationでなんとかhttpsでの表示までたどり着きましたが
どうも完全な動作をしてない様子です
(Blazorの学習用のテンプレートでメニューやテキストだけだけ羅列された状態)
<Location "/blazor">
ProxyPreserveHost On
ProxyPass http://localhost:5000/
ProxyPassReverse http://localhost:5000/
RewriteEngine on
RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
RewriteCond %{HTTP:CONNECTION} Upgrade$ [NC]
RewriteRule /(.*) ws://127.0.0.1:5000/$1 [P]
</Location>
もう一息な感じなんですが・・・
Program.csでapp.UseHttpsRedirection()が抜けてたのでそれを加えつつ
前者の方をLocationでなんとかhttpsでの表示までたどり着きましたが
どうも完全な動作をしてない様子です
(Blazorの学習用のテンプレートでメニューやテキストだけだけ羅列された状態)
<Location "/blazor">
ProxyPreserveHost On
ProxyPass http://localhost:5000/
ProxyPassReverse http://localhost:5000/
RewriteEngine on
RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
RewriteCond %{HTTP:CONNECTION} Upgrade$ [NC]
RewriteRule /(.*) ws://127.0.0.1:5000/$1 [P]
</Location>
もう一息な感じなんですが・・・
315314 (ワッチョイ f96e-yO3c)
2022/05/30(月) 19:40:46.77ID:n9/aIkj20 解決しました
サーバー側でなく、ソース側の修正で表示できました
サーバー側でなく、ソース側の修正で表示できました
316デフォルトの名無しさん (ワッチョイ 236e-fUg7)
2022/06/18(土) 22:52:15.42ID:5N4YYnEs0 古い話題で恐縮なんですが質問です。
https://docs.microsoft.com/ja-jp/dotnet/standard/asynchronous-programming-patterns/calling-synchronous-methods-asynchronously#executing-a-callback-method-when-an-asynchronous-call-completes
IAsyncResult result = caller.BeginInvoke(3000,
out dummy,
new AsyncCallback(CallbackMethod),
"The call executed on thread {0}, with return value \"{1}\".");
begininvokeで呼び出されたのが終わるとき、callbackmethodが呼び出されることまではわかりました。
https://docs.microsoft.com/ja-jp/dotnet/standard/asynchronous-programming-patterns/calling-synchronous-methods-asynchronously#executing-a-callback-method-when-an-asynchronous-call-completes
IAsyncResult result = caller.BeginInvoke(3000,
out dummy,
new AsyncCallback(CallbackMethod),
"The call executed on thread {0}, with return value \"{1}\".");
begininvokeで呼び出されたのが終わるとき、callbackmethodが呼び出されることまではわかりました。
317デフォルトの名無しさん (ワッチョイ 236e-fUg7)
2022/06/18(土) 22:53:28.07ID:5N4YYnEs0 途中送信すみません。
callbackmethodを見ると引数にIAsyncResult arとありますが、これはどこから来たものでしょうか?
begininvokeでは呼び出す関数を指定してはいますが、その関数に渡す引数は指定していないように見えます。
よろしくお願いします。
callbackmethodを見ると引数にIAsyncResult arとありますが、これはどこから来たものでしょうか?
begininvokeでは呼び出す関数を指定してはいますが、その関数に渡す引数は指定していないように見えます。
よろしくお願いします。
318デフォルトの名無しさん (テテンテンテン MMb6-BknV)
2022/06/19(日) 00:17:36.07ID:TrF8/kJeM https://docs.microsoft.com/ja-jp/dotnet/api/system.asynccallback?view=net-6.0
のとおり、AsyncCallbackは
「public delegate void AsyncCallback(IAsyncResult ar);」
と定義されてるデリゲートだけど・・・?
のとおり、AsyncCallbackは
「public delegate void AsyncCallback(IAsyncResult ar);」
と定義されてるデリゲートだけど・・・?
319デフォルトの名無しさん (ワッチョイ 9bad-Ko7F)
2022/06/19(日) 01:35:57.45ID:NHHRNcNt0 関数ポインタというか関数オブジェクト
320デフォルトの名無しさん (ワッチョイ 9a01-ylO7)
2022/06/19(日) 08:04:27.42ID:Nk1h87ob0 >>317
> callbackmethodを見ると引数にIAsyncResult arとありますが、これはどこから来たものでしょうか?
.NET側で作成して必要な情報をセットしてCallbackMethodを呼び出すようになってるだけだよ
> callbackmethodを見ると引数にIAsyncResult arとありますが、これはどこから来たものでしょうか?
.NET側で作成して必要な情報をセットしてCallbackMethodを呼び出すようになってるだけだよ
321デフォルトの名無しさん (ワッチョイ 236e-fUg7)
2022/06/19(日) 10:47:43.19ID:O3VLYjye0322デフォルトの名無しさん (ワッチョイ 0eda-G5eL)
2022/06/19(日) 10:52:20.66ID:nWWcJPGW0 セグメント的な意味ならスタックじゃね?
323デフォルトの名無しさん (ワッチョイ cebb-643o)
2022/06/19(日) 11:41:03.45ID:7K+FVRoS0 この質問の的はずれな感じ初心者だろうからこっち行け
https://mevius.5ch.net/test/read.cgi/tech/1655422932/l50
https://mevius.5ch.net/test/read.cgi/tech/1655422932/l50
324デフォルトの名無しさん (アウアウウー Sa47-/Z3s)
2022/06/19(日) 12:21:28.04ID:+YnI+5A8a あなたの心の中にあるよ
325デフォルトの名無しさん (ワッチョイ a702-KtZt)
2022/06/19(日) 14:14:38.43ID:YZZ11uFp0 CのDLLから呼び出し規約cdeclのコールバック用の関数ポインタを要求された場合、
C#のデリゲートを受け渡し出来る方法、もしくはC#側でcdeclの関数を作る方法はありますか?
C#のデリゲートを受け渡し出来る方法、もしくはC#側でcdeclの関数を作る方法はありますか?
■ このスレッドは過去ログ倉庫に格納されています
