AutoHotkey スレッド part26
■ このスレッドは過去ログ倉庫に格納されています
!extend:on:vvvvv:1000:512 !extend:on:vvvvv:1000:512 ■配布元 http://ahkscript.org/download/ ■前スレ AutoHotkey スレッド part25 https://egg.5ch.net/test/read.cgi/software/1505357560/ ■日本語解説等 AutoHotkey Wik http://ahkwiki.net AutoHotkeyを流行らせるページ(ミラー) http://ahk.xrea.jp/ (不調時は http://hdd.s300.xrea.com/ahk/ ) AutoHotkeyJp(過去ログdatあり) http://sites.google.com/site/autohotkeyjp/ Autohotkey日本語ヘルプ(chmファイル) http://www6.atwiki.jp/eamat/ Autohotkey専用うpろだ http://ux.getuploader.com/autohotkeyl/ 簡易スクリプト掲示板 http://pastebin.com/ ■派生版 IronAhk (.NET製、クロスプラットフォーム) https://github.com/polyethene/IronAHK AutoHotkey.dll (真のマルチスレッド対応など, AHKLの派生) http://www.autohotkey.com/board/topic/39588-autohotkeydll/ VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured 👀 Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2) >>217 悔しそうな最後っ屁レスのいい見本を見せていただきありがとうございます これからは気をつけます 久々に伸びてると思ったら… >>218 見て和んだからよしとするか AutoHotkeyスレ的にはこうあって欲しいな NGEx Tooltip, 謝れよ君@AHK 対象タイトル [含む] [AutoHotkey] NG Name [含む] [09] こういう子はしれっと何度でも来やがるので二度とレスしないで済むようあぼ〜ん規則置いときますね アクティブウインドウ以外を最小化したいです。 WinMinimizeAllとWinRestoreでほぼいけるんですが、一瞬アクティブウインドウも最小化されるのが難点です。 なにかいい方法ありませんか? そういやあったな 前試したとき使えなかったけど、Windows10 スナップ機能を無効にしてたのが原因だったみたいだわ FileReadLineで10行目を読み取って、ヒットした文字列をRegExMatchで検索する所まで来ました。 しかし指定行に書き加える所がわかりません。 FileReadLine, HAGE, HAGE.txt, 10 If (RegExMatch(HAGE,"FUSA")) { ---指定行に書き加えるこの部分がわかりません---- StringReplace? FileDelete, HAGE.txt FileAppend, %FUSA%, HAGE.txt } もう何年もバージョンアップしてなかったと思ったら 仕様変え過ぎだろ 糞 >>226 >もう何年もバージョンアップしてなかった いやそんなこと無いだろ お前が情弱なだけで 便利そうなオカン henkan_group_winchanger() { IfWinActive,ahk_exe calc.exe { IfWinExist, ahk_exe notepad.exe WinActivate return } IfWinActive,ahk_exe notepad.exe { IfWinExist, ahk_exe wmplayer.exe WinActivate return } IfWinActive,ahk_exe wmplayer.exe { IfWinExist, ahk_exe calc.exe WinActivate return } } ; 関連ありそうなアプリ間でのみウィンドウを切り替える sc79 & tab:: henkan_group_winchanger() GroupAdd & GroupActivate でよくね? 最近ネタ切れ気味なので、 みなさんのおすすめのネタ、小ネタ、関数、スクリプト、連携ツールなどの投下待ってます!^^ ■用途 . メイン│キー割り当て変更…タップ/複数タップ/長押し ホットキーランチャー│プログラム起動…メーラー/ブラウザ/エディタ 自動化│キーボード操作 . │マウス操作 選択文字列│WEB検索…ウェブ/画像/動画/Wiki/2ch/地図/翻訳 . │FILE検索 ※Everythingと連携 . │プログラム起動…関連付け/エディタ/ファイラー . │置換…環境変数/レジストリ/日付表記/年表記/3桁ごとにコンマ . │修飾 . │変換…文字種/URLエンデコ/進数 . │計算 . ウィンドウ│タスク切替 . │移動/リサイズ . │最前面化 . │全面化 . │どこでもドラッグ . │シェード . │タイトルバー非表示 . │メニューバー非表示 . マウス│マウスジェスチャー[MouseGestureL.ahk] . │ホイールリダイレクト ※Win10デフォ . │カーソル非表示 . 取得│コマンドID(wParam) . │カラーピッカー(RGB) . タイマー│IME . │自動クリック . │最前面化 . │プログラム…起動/終了 . │優先度変更…アクティブ時/非アクティブ時 その他│クリップボード拡張[Clipboard History] . │サウンド…音量調整/ミュート/デバイス切替 ■関数 ΘIME.ahk…IME制御用 関数群 ttp://www6.atwiki.jp/eamat/pages/17.html ΘSwitchTask.ahk…タスク切替 ttp://blog.livedoor.jp/user5/archives/44475387.html ΘTray_Refresh()…タスクトレイリフレッシュ ttp://autohotkey.com/boards/viewtopic.php?t=19832#p95533 ΘUrlEncode()…URLエンコード(Shift_JIS/UTF-8) ttp://hibari.5ch.net/test/read.cgi/software/1280482227/235 ■スクリプト □常駐 ΘClipboard History…クリップボード拡張 ttp://www.vector.co.jp/soft/winnt/util/se512783.html ΘMouseGestureL.ahk…マウスジェスチャー ttp://www.vector.co.jp/soft/winnt/util/se498500.html ΘWheelScroll.ahk…ホイールリダイレクト ttp://www6.atwiki.jp/eamat/pages/30.html Θカーソル非表示 ttp://anago.2ch.net/test/read.cgi/software/1398655195/807 Θどこでもドラッグ ttp://autohotkey.com/board/topic/25106-altlbutton-window-dragging/#entry256906 □非常駐 ΘコマンドID(wParam)取得 ttp://autohotkey.com/board/topic/19754-get-info-from-context-menu/#entry130297 ■連携ツール ΘApp=Device…サウンドデバイス切替 ttp://www.vector.co.jp/soft/winnt/art/se486862.html ΘEverything…ファイル検索 ttp://www.voidtools.com/ ΘTablacus Script Control 64…計算 ※64bitOS ttp://www.eonet.ne.jp/~gakana/tablacus/scriptcontrol.html Θue…WEB検索 ttp://www.axfc.net/u/3902154 Θue2clip…URLエンコード ttp://www.axfc.net/u/3902154 乙。 一覧になってみると、特別な事はしてないなと再確認。 どれも上記の組合せに過ぎないとゆーか、連係するソフトウェアの理解度が重要だったり。 小ネタ ΘPrintScreenキーで情報取得 ttp://pastebin.com/c5dJTcFG Θタイトルバー上アクション ttp://pastebin.com/4ZHJVHTV Shift+左…シェード 左ダブル…ポップアップメニュー(menuHackerモドキ) 未完のおま環オナニースクリプトのため、ご興味のある方のみどうぞ!^^ タブ単位ではなくてブラウザ単位でミュート/解除する.ahkファイルなどありませんか? https://gist.github.com/Trellmor/6548709 でそれらしいのをみつけたのですが、どこにミュートさせたいブラウザを指定するのかわかりません。 最初^!Mを一度押すとボリュームミキサーがでてくるようですが、2回目同じキーを押してもボリュームミキサー出てきません クリックでミュートするのではなくランチャーなどに.ahkファイルを登録させてそれの起動ですぐブラウザ単位のミュートがしたいです。 こないだの謝れよ君か また暴れられると面倒だから答えは書かないけど修正3ケ所で行けたわ なかなか便利なスクリプトやな >>238 さんの使い方なら Θ7行目を変更「VolumeMixer = 音量ミキサー」 Θ15行目に追記 Sleipnirなら「MuteApps("Sleipnir")」 Chromeなら「MuteApps("Chrome")」 など で、大丈夫だと思います^^ すいません追加で Θファイル末に追記「ExitApp」 Θ15行目を「MuteApps(A_Args[1])」 でファイルを作成し、ランチャーなどで下記コマンド実行の方がいいかも^^ Θコマンド Sleipnirなら「hoge.ahk "Sleipnir"」 Chromeなら「hoge.ahk "Chrome"」 など >>242 おしえてくださってありがとうございました。 助かりました。 わたしに教えてはいけないというノリにしたいヤカラがいるので反発がありますね ^ ^ 教えて君五大要素 1. 読まない 2. 調べない 3. 試さない 4. 理解力が足りない 5. 人を利用することしか頭にない ワッチョイ 3e91-m0US >234 も大概うざいと思ってたがこれは酷い 己の承認要求満たすことが最重要なタイプか >>249 スルーできずにレス付けちゃうお前も同類だぞ 3e91-m0US は黙認したらダメなタイプ スルー対象は 謝れよ君のほう 承認欲求はレスされることで満たされるんだから黙ってあぼーんしとけばいい タスクトレイ右にあるソフトウェアを右クリックしてそのメニューの上から二番目をクリックする、 といった動作をAutohotkeyですることはできるんでしょうか? 昔そういう単機能のソフトウェアがあったように思うのですが忘れてしまいました。 >>251 地獄に落ちろ SoundBeep有能 SoundBeep,400,25 ; 何かが無効になったときに鳴らす SoundBeep,1000,25 ; 何かが有効になったときに鳴らす とりあえずIME ON/OFFやその他に組み込んでみたが安心感が増す 人前ではうるさくて使えないだろうが これのLEDバージョン作ってみたいがプログラマブルUSB LEDって2万とかするんだな… 300円位でないのか Arduinoで作れんじゃね? 3000円ぐらいはかかりそうだけど IE11でボタンをクリックした後、反応の有無を判断できる方法はありますか? クリック→無反応→クリック…roop クリック→反応有→roop break 想定している似たような状況は、ビジー状態の通販サイトの「商品カゴへ入れる」ボタンを成功するまでクリックする。 OS:Windows10(1803) Pro 64bit AutoHotkey(x64) 1.1.29.01 >>260 クリックに成功した場合ボタンの表示が変わる、もしくは何かの表示が出るのならImageSearchで行けるんじゃないかね >>261 レスありがとうございます。 表示は変わりませんが、特徴的な音が出ます。 表示の変化に関して指摘して頂いたので、Sound関係の変化に関してコマンドを探してみましたが、使えそうなのがないです。 判断する方法ではないけど ボタンを押してから離すまでの時間を長くすれば反応するようになるのでは? SendならSetkeydelayで Setkeydelay,100,200 もしくは send,{left down} sleep,200 send,{left up} clickなら click,left,down sleep,200 click,left,up >>263 レスありがとうございます。 試してみます。 ただ、ビジー状態に対応できるスクリプトを組みたいので、サイトがビジー状態でないと試せません。 報告は早くて数日後になります。 >>264 人気商品は確定するまでカゴ入れ状態になかなかならないからやり続けるて意味だよね? ビジー状態の意味がブラウザが固まるような表現になってるし >>265 いえ、ブラウザは固まってる状態です。 その状態で酷い時は、数秒に一度、一瞬クリックできる状態になる時があって、その隙にクリックしたいのです。 ポップアップメニューを表示して戻り値にキーを返す関数 https://paste.ofcode.org/cpAPU8WT64bJd4WWJCiPS4 testcode() { menu= ( ファイル(&F) 編集(&E) 検索(&S) 終了 ) ret := ShowPopupMenu(menu) if ret=F msgbox,ファイル処理 if ret=E msgbox,編集処理 if ret=S msgbox,検索処理 if ret=5 ; &がない場合は数値で返す msgbox,終了処理 if ret= msgbox,キャンセルされた } >>264 詳しくないけどIEにぶん投げて、ComObjCreate("InternetExplorer.Application")から.ReadyStateでページ表示の完了状態を調べるとかは? 無理にahkでやる案件でもないような気がするけど ControlGet SysListView321を使って、値を取得することは出来ます。 逆に、SysListView321に値をセットすることは出来ませんか。 ゲットした値の一部を変更したいのですが >>268 確かにIEの操作はAHKでやるより、IEから直接の方が確実なような気がしますね…。 >>263 少しスリープの時間を長めにしましたが、軽いビジー状態なら結構いけますね。 正直、長押しでいけるとは思ってもいませんでしたからびっくりしました。 とりあえず、長押しでしのいで、将来的にはVBAでIEを直接操作する方向で考えたいと思います。 予定していた方法とは異なりますが、そこそこどうにかなりそうなので、これで締め切らせて頂きます。 皆さんありがとうございました(o*。_。)oペコッ ヒアドキュメントがあまりにも見づらいのでクラスにしてみた m.Add("ファイル(&F)") は m.Add,ファイル(&F) とは書けないのな http://textuploader.com/dzt72 testcode2() { m:=new PopupMenu() m.Add("ファイル(&F)") m.Add("編集(&E)") m.Add("検索(&S)") m.Add() m.Add("終了") ret := m.Show() msgbox,% "ret=" ret } >>271 >>1 に「Autohotkey専用うpろだ」紹介されてるんだから、以降そっちでやってね iniwriteの時に書き込む値にカンマがあった場合はどうすればいいのでしょうか? hensuu = 111,aaa,222,bbb iniwrite, %hensuu%, test.ini, test, test iniwrite, 111`,aaa`,222`,bbb, test.ini, test, test こんな事が出来るなんて知りませんでした。 どちらでもできました、ありがとうございます。 ATOKの日付変換が便利なんだけど、使いたいフォーマットがない。 例えば "yyyy_mmdd" とか。 now対象だけならahkで作れそうなきがするけど、ATOKみたく「あした」「あさって」とか 「げつようび」とかで、前後の日をサポートするとなると大変そう。 こんな日付変換に対応したものってありますか? 別のスクリプト同士で変数をやり取りする方法はありませんか? 情報をやり取りするためのファイルに書き込んでおき、 別のスクリプトで読み込むしかないでしょうか? >>277 http://ahkwiki.net/EnvAdd ::nitiyoubi:: SUNDAY=1 send,% DateCalc(SUNDAY-A_WDay,"yyyy-MMdd") return DateCalc(offset,format) { TimeStamp := A_Now TimeStamp += %offset%, Days FormatTime,TimeStamp,%TimeStamp%,%format% return TimeStamp } >>278 http://ahkwiki.net/OnMessage () >>279 わぁ、作っていただけるなんて。 ありがとうございます。 これを元にメニュー化してみます。 GUIで使われるデフォルトのフォントはコレであっていますか? 分かる人いたらお願いします。 OS日本語 MS UI Gothic (win7で確認、win10も同じ?) OS英語 MS Sans Serif? >>283 言葉足らずでした、AHKのGUIコマンドの話です 原文のリファレンスを読むとデフォルトはGetStockObjectのDEFAULT_GUI_FONTの事だとは思うのですが 他環境のフォント情報がなかなか見つからず質問した次第です > Omit the last two parameters to restore the font to the system's default GUI typeface, size, and color. Gui, Font,, メイリオ Gui, Add, Text,, あいうえおABCDEabcde (メイリオ) Gui, Font,, MS UI Gothic Gui, Add, Text,, あいうえおABCDEabcde (MS UI Gothic) A_GuiFont := GuiDefaultFont() A_GuiFontSize := A_LastError Gui, Font Gui, Add, Text,, %A_GuiFont%`t%A_GuiFontSize% (デフォルト) Gui Show Return GuiDefaultFont() { ; By SKAN www.autohotkey.com/forum/viewtopic.php?p=465438#465438 hFont := DllCall( "GetStockObject", UInt,17 ) ; DEFAULT_GUI_FONT VarSetCapacity( LF, szLF := 60*( A_IsUnicode ? 2:1 ) ) DllCall("GetObject", UInt,hFont, Int,szLF, UInt,&LF ) hDC := DllCall( "GetDC", UInt,hwnd ), DPI := DllCall( "GetDeviceCaps", UInt,hDC, Int,90 ) DllCall( "ReleaseDC", Int,0, UInt,hDC ), S := Round( ( -NumGet( LF,0,"Int" )*72 ) / DPI ) Return DllCall( "MulDiv",Int,&LF+28, Int,1,Int,1, Str ), DllCall( "SetLastError", UInt,S ) } 失礼 win10も MS UI Gothic だったよ 「コントロール+クリック」を「無変換+クリック」に割り当てられるといいんだけどな@あ 関数内でループをさせて、そのループのA_indexを使ったことをさせたいんですが、A_indexを使ったことというのを関数内で何度も使うのでその記述を簡略化したいんですが どうすればいいですかね?やりたことは下記のようなことなんですが、labelとgosubで動くものなのかがよくわからないでいます test() { loop,10 { label: tooltip,%A_index% return gosub,label sleep,500 gosub,label sleep,500 gosub,label sleep,500 } return } 関数内でもラベルは使えるけどサブルーチンは無理 そのコードだとtooltipの下のreturnで関数ごと抜けてしまうよ >>290 サブルーチン部分をloop外に出せば動くとは思うが、正直何をしたいかよく分からん 同じA_indexで同じ処理を3回してるから、その部分をloopで回せば簡略化できると思うが… test() { loop,10 { count := A_index loop,3 { gosub,label sleep,500 } } return label: tooltip,%count% return } 長いので次レスで 続き それとも、こんなことか? test() { loop,10 { gosub, label1 gosub, label2 gosub, label3 } return label1: tooltip,%A_index% sleep,500 tooltip, return label2: MsgBox,%A_index% sleep,500 return label3: Clipboard := A_index MsgBox,Clipboard は %Clipboard% sleep,500 return } 以上、かなり適当 290 ですが返事がおそくなってすみません。 結局loopでlabel部分をループさせました。ありがとうございました。 win7から10へマシン変えようか考えてますが ahkスクリプトは相当書き換える必要あるのでしょうか? 今あらゆる作業でずいぶん頼ってるのでそこが悩みどころでして >>296 もしWin7のUAC設定を一番下にしてオフにしてるならばWin10に移行後にUAC絡みで気を付ける必要があるかも Win7ではUAC一番下にするだけでほぼ機能しなくなるけどWin10では一番下にしても完全にはオフにならないので 必要に応じてスクリプトを管理者権限で実行したり、標準権限で実行したりを気を付けなきゃならない 元からWin7でUACオンにして使ってるなら特に使い勝手は変わらないと思う >>297 ありがとうございました!ユーザーアカウントというあたりは元々ぜんぜんいじってないです。 スクリプトそのまま移行して使い続けられそうでホッとしてます >>296 自分はahk以外にもWSHやAutoItも使ってるので参考になるか分からないが… スクリプトでレジストリにアクセスしようとしてもブロックされまともに動かなかったので、 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System] の"EnableLUA"=dword:00000001 → "EnableLUA"=dword:00000000 にしてUACを無効化した 自分はwin7 32bitからwin10 64bitにしたけど、特に大掛かりなスクリプトの書き換えはしなかったような気がするが、 win7時代に動いていたスクリプトがwin10で動かなくなったのはあったな このスレにあったヤツだったか忘れたが、ウインドウに穴開けてデスクトップを見るスクリプトだった 他人作だし使う機会も少なかったのでもう使用はしていない… 無理矢理UAC完全無効化はストアアプリに不具合出るしMS的にはストアアプリ推しだから 将来的に大きなトラブルになる可能性もある UAC無効化しなくてもUI Access有効化でよくない? 情報サンクス >>300 >ストアアプリに不具合出るしMS的にはストアアプリ推し 自分としては別に使う気はないからどうでも良いかなぁ win10使う上で必須のアプリがあるなら考えるけども… >>301 UI Access っつうのちょっと調べた限りでは、フォルダ限定される? 自分はCドライブにソフトやスクリプトは殆ど置かないので、UI Access有効化は余り意味がないかもしれない なぜ日本語wikiのキーリストで 変換:vk1Csc079のように記載されているのでしょうか? 実際,スクリプトにはvk1Cと記載しないと動きませんよね? 誤解を招くような気がする(実際に自分も戸惑った)のですが,これにはなにか理由があるのですか? >>303 v1.1.24まではvc○○sc○○の記述が可能だった v1.1.27で修正されてvk○○またはsc○○の片方しか記述出来なくなった v1.1.28で以前の仕様(vc○○sc○○が可能)に戻ったらしいけど 俺はv1.1.24からアップデートしていないので未確認 いや、v1.1.28でも最新のv1.1.29.01でも「vk○○sc○○」の記述はエラー出ますよ 今も「vk○○」か「sc○○」の片方のみ可能なのでwikiを直さないと新規の人には分かりにくいだろうね いろんな文法を認めている割に、これに関しては厳しくしたいっていうのが良く分からんね。 keyhacですが、tkinterは入れたままにして頂きたい! その方がポータブル感が高まると思います。 すいません質問させて下さい https://superuser.com/questions/1269772/windows-explorer-shortcut-to-go-to-next-sibling-folder 上のサイトのスクリプトはエクスプローラ上で同階層フォルダ間を移動するものですがあくまで英語圏のためのものであり 日本語のフォルダ名だとエクスプローラの表示順通りに移動できませんがどうすればいいでしょうか Windows XP以降のソート順は特殊でShlwapi.dllのStrCmpLogicalW()というAPIを使う必要があるらしいのですが Windows 7 64bit Autohotkey(x64) v1.1.22.09 >>308 一旦兄弟フォルダを全部取得してからフォルダ名でソートすればいいんじゃないか、ということで自分でも使用したいので作った Win10で動作確認 https://pastebin.com/sZVcY14F オリジナルに変更を加えた部分はある程度コメントを入れてあるので詳細はそっちで それと、親フォルダのソート状況を推察するのは難(*1)があるので、移動の順番は名前で昇順ソートされた状態を想定してる 別ウィンドウで親フォルダを日付や名前の降順でソートして表示していて、移動してみたら順番が違う!というのは諦めて (*1) 親フォルダのソート状況を推察できる状況 ・一つのエクスプローラーウィンドウで親フォルダを表示している 厳しいとき ・親フォルダを表示していない ・複数のウィンドウで親フォルダを開いていて、それぞれソート状況が異なる。(どちらを選択するのか?) >>309 質問者ですがwindows7でも動作確認しました 兄弟フォルダ間の移動なんて簡単て思ってたらとんでもなかったw 前提条件を認識した上で使わせてもらいます ありがとうございました https://pastebin.com/kZADqQ5P よく分かってないけど>>309 のスクリプトで最初と最後の兄弟フォルダにも移動したいときはこんな感じでいいのかな こんなの聞くの申し訳ないんですがTrayTIpが動きやせん 調べでもわからなくて困った windows10 1803 AHKL1.1.29.01(64bit) #NotTrayIcon使用なし 全文が長くなるとTrayTIpがwin上で反映されない LOGだと指令でてる&短い文でテストすると問題なし コンパイルすると動いてたが更に全文長くしたらコンパイルしてもTrayTIpでない うわーん >>312 自己解決しました。win10の設定でAHKの通知取得がoffやった… むしろなんで短いと通るのか不思議になりましたが スレ汚しごめんなさい 下記サンプルコードではタスクバー上の空きスペースクリック時メニューが出てしまうので メニューを出さずにアイコン上か空きスペースかの当たり判定ができましたら教えてください ■サンプルコード 中クリックでアプリ閉じ 問題点…空きスペースクリック時のメニュー ;タスクバー上 #If MouseIsOver("ahk_class Shell_TrayWnd", "MSTaskListWClass1") MButton:: Send {RButton} Sleep, 250 if WinExist("ジャンプ リスト ahk_class DV2ControlHost") Send {Up}{Enter} else Send {Esc} return #If MouseIsOver(WinTitle, ClassNN:="") { MouseGetPos,,, hWnd, ControlNN return (!ClassNN ? WinExist(WinTitle " ahk_id " hWnd) <> 0 : WinExist(WinTitle " ahk_id " hWnd) && ClassNN = ControlNN) } サムネイル有無だとメニューは出ないがサムネイルがないとミスってしまう SendMessageなどでの当たり判定や、そもそも閉じるのに右クリック→上→Enterではない案(AHKで)などありましたら教えてください ■サムネイル有無判定 Sleep, 250 if !WinExist("ahk_class TaskListThumbnailWnd") return タスクバー上でカーソル下がアイコンか空きスペースかの判定だけなら Acc.ahk使えばすぐじゃないかな Roleの値が違うはずだし >>316 さん Acc_GetRole()関数利用で希望する動作になりました 今までACC.ahkはテンプレで紹介されているのは知っていましたが、用途が分からずインスコしていませんでした めちゃ便利ですね。教えていただきありがとうございました Acc.ahkは使い方がわかればDoDefaultActionが便利だった 俺は分からず分かったのはUI Automationに手を出した後という ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.1 2024/04/28 Walang Kapalit ★ | Donguri System Team 5ちゃんねる