トップページ⇒tech
1001コメント231KB

ふらっとVisual C#,C♯,C#(初心者用) Part109

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2013/11/28(木) 11:27:54.20
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。

他のスレッドでは書き込めないような低レベルな質問。
質問者自身なんだか意味がよく分からない質問。
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。

内容に応じて、他スレ・他板へ行くことを勧められることがあります、ご了承下さい。

なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。

>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

■前スレ
ふらっとVisual C#,C♯,C#(初心者用) Part108
http://toro.2ch.net/test/read.cgi/tech/1383867970/

■関連スレ
C#, C♯, C#相談室 Part81
http://toro.2ch.net/test/read.cgi/tech/1381134494/

■コード貼るなら↓使ってください
http://ideone.com/
0545デフォルトの名無しさん2013/12/14(土) 22:15:35.07
>>544
http://code.msdn.microsoft.com/windowsdesktop/10-WebBrowser-C-0131de80
0546デフォルトの名無しさん2013/12/14(土) 22:21:24.40
>webサイトのhtmlテーブルなどを取得→表示は違えど、だいたい正確に表示

表示するのはテーブルらしいから、生データのほうが使いやすいかもね
rowspanとcolspanがあるから、htmlだと面倒なことも有る
0547デフォルトの名無しさん2013/12/14(土) 22:55:32.81
あるスレッドがスケジューラからCPUを取得したときに特定の処理を行いたいんですが
どのように取得すればいいですか?
0548デフォルトの名無しさん2013/12/14(土) 23:00:55.74
なにもしようとしてないスレッドにスケジュール回すことはないわけで
0549デフォルトの名無しさん2013/12/14(土) 23:07:36.34
>>548
当たり前
何かを行ってる最中のスレッドもCPUを奪取され再び授与されます。
その瞬間を取得したい
0550デフォルトの名無しさん2013/12/14(土) 23:13:08.17
なんだコイツ
0551デフォルトの名無しさん2013/12/14(土) 23:14:02.60
OSに手を入れないと不可能なんじゃねえの
0552デフォルトの名無しさん2013/12/14(土) 23:41:32.11
つか、CPUを改造しないと無理じゃね?
0553デフォルトの名無しさん2013/12/14(土) 23:47:02.44
だったら、Process Hackerはどうやっているんだ?
0554デフォルトの名無しさん2013/12/14(土) 23:57:07.99
スレッドが切り替わった瞬間にログを吐くとかできればいいんかね
0555デフォルトの名無しさん2013/12/15(日) 00:08:28.56
>>554
まさかとは思いますが、スレッドは開始したら終了までCPUを
占有しているとは思っていないですよね?
0556デフォルトの名無しさん2013/12/15(日) 00:14:03.29
>>549
そんなことが可能だと仮定して、それって(例外のように)同じスレッドの中でコードに書かれていない制御フローが
発生することを意味するんだけど分かってる?
0557デフォルトの名無しさん2013/12/15(日) 00:18:31.86
そんなことが可能だと仮定して・・・
0558デフォルトの名無しさん2013/12/15(日) 01:35:31.78
こんなところで聞いてる奴にはできない、ということでFAだなw
0559デフォルトの名無しさん2013/12/15(日) 09:47:32.91
わかってるなら聞くなよカス
0560デフォルトの名無しさん2013/12/15(日) 10:24:29.83
C#の1行とマシン語の1行は違うから無理じゃね?
0561デフォルトの名無しさん2013/12/15(日) 11:07:49.06
オレオとマシン語は世界共通語
0562デフォルトの名無しさん2013/12/15(日) 11:41:39.41
>>560
マシン語の1行ってなんだ?
0563デフォルトの名無しさん2013/12/15(日) 11:49:47.77
キャッシュライン説
0564デフォルトの名無しさん2013/12/15(日) 11:54:52.50
C#の1行はマシン語では複数行になるんだよね
んで、スレッドの分割単位はマシン後ということで
0565デフォルトの名無しさん2013/12/15(日) 12:00:11.47
そんなもんCどころかFORTRANの頃からだ
アセンブラですら必ずしも常に一対一とは限らないというのに
0566デフォルトの名無しさん2013/12/15(日) 13:25:49.94
>>564
君はOSの勉強もしたほうがいい

スレッドの分割単位ってなんだよw
0567デフォルトの名無しさん2013/12/15(日) 13:57:23.97
スレッドの切り替えによって分割されることがない単位と言いたいんだろ
0568デフォルトの名無しさん2013/12/15(日) 14:02:51.55
>>567
おまいら
Advanced Windows
を0xFFFFFFFFFFFFFFFF回読んでからレスしろ
0569デフォルトの名無しさん2013/12/15(日) 14:13:47.04
-1回読んできたぞ
0570デフォルトの名無しさん2013/12/15(日) 14:20:18.00
>>567
それだったら、命令語の中だって切られるだろう?
0571デフォルトの名無しさん2013/12/15(日) 14:34:19.34
read-modify-writeがアトミックに実行されなかったら大惨事だなw
0572デフォルトの名無しさん2013/12/15(日) 16:12:06.75
visual C# 2010 Express をダウンロードしたのですが。質問があります。
「新しいプロジェクト」で「Windowsフォームアプリケーション」を選ぶと、「エラーが発生したため動作を停止しました」と出てしまいます。

どうすればいいんでしょうか...
0573デフォルトの名無しさん2013/12/15(日) 16:13:56.26
>>572
なんですがマウスをクリックしながら動かし回すと落ちません。
けれど「デパック開始」を押すとエラーで再起動してしまいます。
0574デフォルトの名無しさん2013/12/15(日) 16:19:44.74
あ、あれ
XP互換モードで起動したら問題ない。
大丈夫なのかなこれ(;´Д`)
0575デフォルトの名無しさん2013/12/15(日) 16:31:47.65
>>573
de-pack ?
0576デフォルトの名無しさん2013/12/15(日) 17:21:53.42
>>575
はい。矢印マークみたいなボタンのやつです。
とりあえずhelloworldできました(^^
0577デフォルトの名無しさん2013/12/15(日) 17:35:26.32
デバッグな
動作おかしいなら再インストールしてみるとか
0578デフォルトの名無しさん2013/12/15(日) 17:51:56.69
>>576
http://code.org/learn
君はこっちから始めよう
0579デフォルトの名無しさん2013/12/15(日) 17:55:49.42
>>577
あちきの遭遇した2008R2 とproの組み合わせで散々フリーズ
した現象と似ているな
osの種類バージョンの組み合わせで起きるみたい
0580デフォルトの名無しさん2013/12/15(日) 18:13:18.49
ウチはその組み合わせで全く何の問題もないので条件切り分けが全く不足だな
0581デフォルトの名無しさん2013/12/15(日) 21:51:50.08
ナンの理由で2010Expressなのかが気になる
0582デフォルトの名無しさん2013/12/15(日) 22:11:55.91
>>577
再インストールしたけど同じだったよ

>>578
ありがとう?(;^^)

末長くお付き合いできますかねC#くんは。
疲れた。明日も頑張ろう。
0583デフォルトの名無しさん2013/12/15(日) 22:14:14.99
マイクロソフトのことだから無理やりでも末長くお付き合いさせるだろう
0584デフォルトの名無しさん2013/12/15(日) 22:19:21.59
つか、VSは2013が既に出ているんだから、そっち試したらいいんじゃないの?

http://www.visualstudio.com/downloads/download-visual-studio-vs
の Visual Studio Express 2013 for Windows DesktopにC#も入っているから
0585デフォルトの名無しさん2013/12/16(月) 11:14:11.40
IDEもまともに使えない知識でC#に挑むとはいい度胸だ
もしかして宿題か?
0586デフォルトの名無しさん2013/12/16(月) 13:19:11.22
VS2013はコードエディタのスクロールバーが見えにくくなったなw
0587デフォルトの名無しさん2013/12/16(月) 18:10:43.14
スクロールするほど長いコードは書いたらダメ
0588デフォルトの名無しさん2013/12/16(月) 19:00:21.16
覚え始めたけどクラスだのメンバだの出てきた。
クラスはいいが、メンバってなんだよ。
メンマかよ?らーめんかよ
0589デフォルトの名無しさん2013/12/16(月) 19:08:15.75
スパゲティではないって意味ならラーメンの可能性もありますね。
ないね。
0590デフォルトの名無しさん2013/12/16(月) 19:48:26.44
cからやり直しだな
0591デフォルトの名無しさん2013/12/16(月) 19:55:21.98
メンマとはすなわちラーメンの具だ。

メンバも同じ。具と考えると良い。
0592デフォルトの名無しさん2013/12/16(月) 19:59:17.08
ラーメン has a メンマということですか。
0593デフォルトの名無しさん2013/12/16(月) 20:09:25.28
メンマって可算名詞?
0594デフォルトの名無しさん2013/12/16(月) 20:15:24.79
そうですよ。
なんで?
0595デフォルトの名無しさん2013/12/16(月) 20:38:31.18
読み返したら分かった。
メンマってクラスの中に書いてある命令の事なんだね。
次はインスタントラーメンが出てきた。
オブジェクトにメンマをコピーしまくって使うの?

HSPからステップアップしたからなんか感動
0596デフォルトの名無しさん2013/12/16(月) 22:13:00.93
もう幾つ足すとシナチクになるの〜
0597デフォルトの名無しさん2013/12/17(火) 02:40:33.32
webBrowser1.Navigate("http://○○○");

で表示したページにあるframeやiframeのhtmlソースを取得したいんですが
frameやiframeのURLにアクセスするのではなく
最初に一回だけNavigate()で表示しただけで取得可能でしょうか?
何度もアクセスしなおすのが嫌なのでそれで取得可能なら知りたいんです。
0598デフォルトの名無しさん2013/12/17(火) 06:34:37.46
可能
0599デフォルトの名無しさん2013/12/17(火) 12:53:24.00
private void wb_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
  HtmlElementCollection hec = wb.Document.GetElementsByTagName("a");
  foreach (HtmlElement he in hec)
  {
// 〜 略 〜 一定のクリック対象の条件を満たした場合
    InvokeMember("click"); ・・・�@
  }
}

グーグルで検索を行い表示された検索結果のうち
特定サイトをクリックすると、 �@を実行した直後に
wb_DocumentCompleted イベントが発生しなくなってしまいます。

クリックしたサイトが表示されるページが大半なのに
なぜ特定サイト ( suumo ・ 2ch)の場合だけ、ページが表示されてもDocumentCompleteが
発生しなくなるか理由が分かりません。いった何が原因なのでしょうか?
0600デフォルトの名無しさん2013/12/17(火) 13:13:01.49
ページがの読み込みが完了してないんじゃね
HTMLは表示できても画像の読み込みが終わってないとか
0601デフォルトの名無しさん2013/12/17(火) 23:00:47.14
599です。

>>600
作成したアプリを使わずに普通に手動で
フリーズしてしまうページを開いてみると
5秒も掛からずに読込が完了します。

しかし、プログラムから行うと Invokemember("click")を
実行すると完全に止まってしまいます。

不思議な事は、タイマーイベントも一定間隔で
動かしているにも関わらず、なぜこのイベントも
止まってしまう
(ブレークポイントにすらかからなくなる)のでしょうか?
0602デフォルトの名無しさん2013/12/18(水) 03:01:07.03
>>601
他でバグっている可能性が高いな
試しに、そのタイマー処理を止めたらどうなる?
0603デフォルトの名無しさん2013/12/18(水) 08:42:48.71
イベントドリブン内部から、他のイベントが発生するような処理を呼び出す場合は注意が必要
0604デフォルトの名無しさん2013/12/18(水) 10:21:35.88
特定のページでそうなることはあるかな。
facebookとかtwitterとか他のページ呼んでるとこに多いような。
0605デフォルトの名無しさん2013/12/18(水) 10:22:21.54
あ、そのページの中にtwitterの表示してるやつとかね、あと広告関連か
0606デフォルトの名無しさん2013/12/18(水) 18:44:39.09
>>601
確かにhttp://suumo.jp/area/tokyo/suginami/wiki.htmlにアクセスすると
url指定しただけで固まるね

win8.1で、.winformでもwpfでも、イベントが発生しないどころか普通に固まる
webbrowserコンポーネントを使わない方向でやるしかなさそうだね
0607デフォルトの名無しさん2013/12/18(水) 19:14:34.70
>>601
タイマーはSystem.Windows.Forms.Timerだろ?
そりゃ発生しないわ
0608デフォルトの名無しさん2013/12/18(水) 19:58:11.79
とりあえずミニマムコード作って張れや
話はそれからだ
0609デフォルトの名無しさん2013/12/18(水) 20:10:51.67
ミニマムってほどですらない
WebBrowserはっつけてLoadで>>606にNavigateするだけで再現できるね
0610デフォルトの名無しさん2013/12/18(水) 20:22:43.12
ヴァグじゃろうか
0611デフォルトの名無しさん2013/12/18(水) 20:37:32.65
あ、それからWin7のAxWebBrowserでも再現した
0612デフォルトの名無しさん2013/12/18(水) 22:43:17.65
599です。

>>602 >>603 >>607
タイマーを止めても止まってしまいます。
他のコードはごく単純なコードなのでバグっている可能性はまずないです。

>>604 >>605 >>606
まさに、
>>606さんのご指定のURLとかのサイトでdocument_completed
イベントが発生しなくなる場合があります。

Windows7 で webbrowser components を使っています。

ブラウザの自動操作をしようとしていますので
使えないと結構きついですね。


>>610
全くもって困ります。。。うーんこればっかりはFWのバグなので
MSが直してくれないとダメですね。
0613デフォルトの名無しさん2013/12/18(水) 23:04:53.21
vos.js
<!--
var vosJsDenyDomainList___ = [];
//set deny domain list here.
vosJsDenyDomainList___.push("jj.jp.msn.com");

catalyst.js
<!--getKaisha -->
function getKaisha(rsid , type){
return kaisha;
}
<!--editProductsParam -->
function editProductsParam(param, rsid, type, seikyuFlg) {
:

JavaScriptもまともにかけないのか?すーもの連中は。
てか、そーいうことも突き止めらんないおまいらって…
0614デフォルトの名無しさん2013/12/18(水) 23:28:13.51
WebBrowserのバグには興味があるけどsuumoの実装とか心底どうでもいい
0615デフォルトの名無しさん2013/12/18(水) 23:36:45.23
599です。

>>613
という事はつまりWebBrowserのバグというより
寧ろ suumo のJavaScriptのバグによって
DocumdentCompletedイベントが発生しない
という事でしょうか?

人の書いたソースを見るのは気持ち悪いので
あまり見てませんでした。


例えばこういったsuumoみたくバグの
あるサイトを表示したとしても一定の時間(例えば10秒)
経過した場合には、強制的に Document_Completedイベント
を発生させる方法はありますか?

>>614
私には、表示先のコードなんて毎度追えません。
0616デフォルトの名無しさん2013/12/19(木) 00:29:32.24
ヒント1.WebBrowser.ScriptErrorsSuppressed = true;
まずどうなるか見る。

ヒント2.DLCTL_NO_SCRIPTS
ググる。

ヒント3.http://msdn.microsoft.com/en-us/library/aa770041(v=vs.85).aspx


多分キミには無理w
0617デフォルトの名無しさん2013/12/19(木) 02:24:18.45
>>616
ありがとうございます。どうなるか試してみます。
0618デフォルトの名無しさん2013/12/19(木) 04:35:19.93
これでも読んだら?
http://codezine.jp/article/detail/246
0619デフォルトの名無しさん2013/12/19(木) 11:19:27.76
>人の書いたソースを見るのは気持ち悪いので
>あまり見てませんでした。

読めませんって言えばいいのに、こういう言い訳するやつって何なんだ。
0620デフォルトの名無しさん2013/12/19(木) 11:46:46.49
他人のソース読むのは苦痛なのは違いない。
0621デフォルトの名無しさん2013/12/19(木) 12:01:34.76
気持ち悪いってのは
クリーンルーム開発みたいな感覚じゃねーの?
0622デフォルトの名無しさん2013/12/19(木) 12:22:15.79
このスレが
0623デフォルトの名無しさん2013/12/19(木) 12:26:29.40
他人の日記をのぞき見る感覚かもしれない

そしてこういう人に「他人のソースは読んで盗むものだ」と教えると
次はソース盗用問題にぶち当たるのだw
0624デフォルトの名無しさん2013/12/19(木) 12:35:17.63
引かぬ媚びぬ省みぬ
0625デフォルトの名無しさん2013/12/19(木) 12:35:20.49
参考書の解答を丸写しする頭の悪い生徒は大人になっても変わらないのか
0626デフォルトの名無しさん2013/12/19(木) 13:08:53.39
自分で考えるべきところをコピペで済ませ
他人のよいやり方を真似るべきところを我流の稚拙なやり方で済ませる
そういう大人に私はなりたい
0627デフォルトの名無しさん2013/12/19(木) 13:34:11.19
自分でスラスラコード書ける奴にとっては他人のコードを読むのは拷問。
自分でスラスラコード書けない奴はとにかく他人のコードを見たくて仕方がない。
0628デフォルトの名無しさん2013/12/19(木) 13:51:43.32
>自分でスラスラコード書ける奴にとっては他人のコードを読むのは拷問。

ろくなもの書けないやつがよく言うよなw
0629デフォルトの名無しさん2013/12/19(木) 13:52:27.95
だいたい、コード読めないやつはろくにデバッグしてないんじゃないかと思う。
0630デフォルトの名無しさん2013/12/19(木) 13:57:31.24
>>628
世の中のコードのほとんどは保守性を無視したろくなコードじゃないのに
それをスラスラ読めるおまえがおかしい。

10万行超えるバグだらけのコードから仕様を拾えなんてよくあること。まさに地獄。
0631デフォルトの名無しさん2013/12/19(木) 14:01:01.35
で、納期は?と聞くと半年前とか大手だとよくあるな。
0632デフォルトの名無しさん2013/12/19(木) 14:16:59.66
>>630 の読解力に問題があることはよくわかった
0633デフォルトの名無しさん2013/12/19(木) 17:48:51.84
すーも のページとかを表示するとDocument Completed イベントが
全然走りません。

何かこういったページに不具合のあるコンテンツをnavigate
した場合でもdocument_completed イベントを走らせるようにする
簡単で確実な方法はありませか?

5秒navigateしても反応が無い場合には無理やりdocument_completed
イベントを起こしたいです。
0634デフォルトの名無しさん2013/12/19(木) 18:20:20.22
昔いろいろ調べた気がするけど忘れた。
0635デフォルトの名無しさん2013/12/19(木) 21:51:09.46
7時間グーグルと格闘してわからなかったので教えてください。

VS2010 C#で、リソースビューアからダイアログをダブルクリックし、
表示されたダイアログにテキストボックスとボタンを配置しました。

わざと重なるようにして、Zオーダーを明確に設定したいのですが、
どのようにすればZオーダーが設定できるのかわかりません。

コーディング中に重なる様にしている項目であり、
TABキーでフォーカスを移してアプリケーションキーでコンテキストメニューを
表示させれば済む話ではあるんですが、どうしても明示的にZオーダーを設定したいのです。

インストラクタで指定するしか無いのでしょうか?
0636デフォルトの名無しさん2013/12/19(木) 21:54:10.35
インストラクタ→コンストラクタの間違いです><
0637デフォルトの名無しさん2013/12/19(木) 21:57:41.71
それほんとにC#か? C++ MFCじゃないか?
0638デフォルトの名無しさん2013/12/19(木) 22:04:37.97
う、C++でした。出直してきます><
0639デフォルトの名無しさん2013/12/19(木) 22:10:09.44
来るとこ間違えてるなら出直してもダメじゃねえかな・・・
焼き鳥うめええええ
0640デフォルトの名無しさん2013/12/19(木) 22:10:20.02
>>635
CTRL+D
0641デフォルトの名無しさん2013/12/19(木) 22:42:38.50
>>640
それタブオーダー
0642デフォルトの名無しさん2013/12/19(木) 23:36:52.32
webkit.net
http://webkitdotnet.sourceforge.net/downloads.php
内部的にchromeを使っているらしいwebbrowser互換のコンポーネント
一応例のページでハングしなかったから使えることは使えそうだ
2010年を最後に更新していないのは気になるが
0643デフォルトの名無しさん2013/12/20(金) 08:27:23.05
3rdパーティはサポート切れが面倒すぎるから使うな
0644デフォルトの名無しさん2013/12/20(金) 10:29:44.35
>Latest Version - 0.5
これ知ってるダメなやつだ
■ このスレッドは過去ログ倉庫に格納されています