WindowsNT互換指向 - ReactOS Part10
■ このスレッドは過去ログ倉庫に格納されています
WindowsNT系OSのアプリやドライバを動作させる事を目指して開発されている
「ReactOS」に関する情報交換スレです。
・次スレは、980を踏んだ人がたてましょう。
・過度の煽り行為や荒し厳禁!!
・最低限のルールを守って正しく進行しましょう。
本家
http://www.reactos.org/
公式wiki
http://www.reactos.org/wiki/
既知のバグ(英語)
http://www.reactos.org/bugzilla/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED
情報まとめ
http://reactos.2chv.net/wiki/
専用あぷろだ(1Mbyte制限)
http://reactos.2chv.net/uploader/upload.html >>796
CD焼くとき書き込みエラー起こしたんとちゃう?
CDをisoファイルに書き戻して配布isoと比較 >>798
別のインストール出来たハードとドライブ入れ替えて試すわ >>798
焼いたドライブを接続しても同じ、ドライブにディスクを入れたまま焼いたH81マザーに戻したらエラーが出ないわ さいですか…
そのスクショに出てるreactos/system32/l_intl.nlsってファイル、
こちらのReactOS-0.4.6.isoでは4870バイトで入ってるけど、そのへんどう?
あとH61機の方だけ2台目のCD-ROMドライブが繋がっててそっち読みにいってるとか? >>802
786の片山スペシャルだけど4870だな
メッセージでOK押したら次のファイル以降もエラーメッセージが出るので特定のファイル異常では無いね >>802
書き忘れ
光学ドライブは1台しか接続してない Windows 10はNT 6.4なのかNT 10なのか 実質NT6.4だろ、パブリックベータ版では6.4だったし 開発再開。バリバリやりまっせ! 手始めにフォント回転に挑戦する。 >>810
おつ。いまさら報告してもあまり意味ないけど
0.4.6.isoでインドネシア語とタイ語のインストールではlogon可だたよ
CORE-13686のsummary,
JapaneseをAsian peopleに広げたの 絞ったほうがいいん? >>811
IMEをとは言わないからその前に
ReactOSインストール後に
システムフォントとMS系のフォントを任意のフォントに置き換えるダイアログ作ってよ
Windowsの場合、レジストリにFontLinkとFontSubstitutes
Wineではそれに加え、Replacementsがある
ReactOSでそれが正常に動くなら書き換えのダイアログを作って公式にマージして
正常に動かないならまず修正して
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes
注意:FontSubstitutesよりFontLinkが優先される
SystemLink
文字補完用(欧文フォントに和文部分を補充)
ファミリー名ではなくフォント名で登録
FontSubstitutes
別名追加用
Replacements (Wineにはある)
存在しないフォントを別のフォントで代替 >>814
ReactOSのFontSubstitutesは動作するが、FontLinkは実装されていない。ReactOSにFontSubというシステムツールがすでに追加させている。 日本のITは、人手不足というか、オープンソースで儲かる仕組みができていないんだろうな。 著作権犯罪者MZの汚染コードをこれ以上Rosに入れるな 合法的な活動で生産されたものであり、著作権の監査に合格している。
M$の工作員が束になってかかってきても、ReactOSはつぶせないよ。 >>628の後半の話 放置してると自滅しかねない… MSDNの公開情報とWin32APIの専門書を読んでフォントシステムを実装した。盗んだ訳じゃないよ。 疑ってるようだから書くけど、日経BP『APIで学ぶWindows徹底理解』2004年発行の168〜175ページにフォントシステムに関する記事が記載されている。 嫌疑不十分だから名誉毀損になるぞ。下手な書き込みは休み休みにしろよ。 M$とLinux連合軍が私を精神攻撃する。私は精神攻撃に耐えて例のモノを完成させる。 sudden deathと隣り合わせ。精神的な闘いになるだろう。 XScreenSaverWinなんて作るから結果としてLinux陣営からも敵視されてしまった。 APIの本見ながら書いたってことは盗んだのと同じだよね カーネルモードでのテスト方法についてIRC上で教わった。寝る。 すみませんReactOSのスレかと思ってオッサンのツイッターに来てしまいました オッサンじゃなくて妖精や天使がReactOSを作ってるんだよ。 【カーネルモードのテスト方法】
RosBEのsvnでReactOSのtrunkをダウンロード。
C:\Users\katahiromz\reactos>svn co svn://svn.reactos.org/reactos/trunk
「trunk\reactos\modules」にCDコマンドで移動。
フォルダmodules上でmklinkでrostestsのリンクを貼る。
C:\Users\katahiromz\reactos\trunk\reactos\modules>mklink /j rostests ..\..\rostests
あとは、普通にビルドして、ここに書かれているようにすればいい。
https://www.reactos.org/wiki/KmtestsHowto さあ、やっと自由時間ができた。IME/IMMをやるぞ。
基本的に逆アセンブル・逆コンパイル・直接的な逆工学は禁止だから、テストなどで調べないといけない。IMEはすでにあり(mzimeja)、IMEのソースは自由に変更できる。IMEからは呼び出し履歴を構造的に調べることが可能。調査は、IMEとIMMの結合テストが主になる。
テスト対象は、ウィンドウシステム・ファイルシステム・レジストリ・実引数・呼び出し履歴などだ。 【心構え】
気づいたこと・記録を残すべきことはメモし、最終的には公開しよう。
調査対象を根気よく綿密に調査しよう。
時間を無駄遣いしないようにしよう。
【最初にやること】
1.自作のIME(mzimeja)をもう一度読み直す。
2.IMEそのものにはおそらくデバッガが使えない。IME内部から呼び出し履歴を調べるために、C++でFootmark++という便利な
自作のフレームワークを作って、IMEに採用する。
3.ウィンドウシステムを調べるツールを用意し、詳細に完全に調べ上げる。Spy++、Winspector、SpyGuru、WindowHierarchyCheckerなどを使う。
https://github.com/katahiromz/WindowHierarchyChecker
この他にもツールが必要なら自分で作るか他から調達する。 Win2kで動作させるためには、VS2008使わないといけないか。
MSYS2使いたいが、しばらくおあずけだ。
TSF を使う (1) - Windows Input Method の歴史
http://nyaruru.hatenablog.com/entry/20070309/p1
これも読む。 mzimejaをCMake使ってフラットスタイルプロジェクトをツリースタイルに再構築。関数の実引数情報が必要だから、footmark++を改良しよう。 RegDiffいいな。レジストリの違いが分かる。
ファイルを集めたら、ImgBurnでCDイメージを焼こう。
これでWin2kにツールを導入できる。 最初に調査することは、IMEをインストールしたら何が起こり、何が変わるのかだ。レジストリ、ファイルシステム、メッセージング、ウィンドウシステムの四点に分けて調査する。
VirtualBoxは、スナップショットという機能で何回でもプレイバック(巻き戻し)できるから、便利。 C:\> xcopy /e /y /c winnt winntcopy
これでwinntをまるごとコピー。
レジストリもregeditで教わったゲットしておく。 自作のIMEをロードすると、system32にIMEモジュール(mzimeja.ime)がコピーされる。
また、次のようなレジストリキーが作成される。
→[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Keyboard Layouts\E0120411]
→"layout file"="kbdjpn.dll"
→"layout text"="日本語 (MZ-IME)"
→"IME file"="MZIMEJA.IME"
→[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\E0120411]
→"layout file"="kbdjpn.dll"
→"layout text"="日本語 (MZ-IME)"
→"IME file"="MZIMEJA.IME"
→[HKEY_USERS\S-1-5-21-1343024091-1078145449-854245398-1000\Keyboard Layout\Preload]
→"2"="E0120411" 十六進数の「E0120411」という値が気になる。
たぶんキーボードレイアウトに関係しているんだろうけど。
ATOKの担当者なら知っているはず。
「S-1-5-21-1343024091-1078145449-854245398-1000」というのはSIDの一種。
HKEY_USERSの下にあるので、まちがいなくユーザーを識別するSID。 ダイアログでMZ-IMEをアクティブにすると次のようにレジストリが変更された。
→[HKEY_USERS\S-1-5-21-1343024091-1078145449-854245398-1000\Keyboard Layout]
→"Attributes"=dword:00000000
→[HKEY_USERS\S-1-5-21-1343024091-1078145449-854245398-1000\Keyboard Layout\IMEtoggle]
→[HKEY_USERS\S-1-5-21-1343024091-1078145449-854245398-1000\Keyboard Layout\IMEtoggle\scancode]
→[HKEY_USERS\S-1-5-21-1343024091-1078145449-854245398-1000\Keyboard Layout\Preload]
→"1"="e0120411"
→"2"="e0010411"
→[HKEY_USERS\S-1-5-21-1343024091-1078145449-854245398-1000\Keyboard Layout\Toggle]
→"Hotkey"="3" 呼び出し履歴は次のようになる。ダウンロードして閲覧するとよい。
https://github.com/katahiromz/ime-study/blob/master/00-mzimeja.log
まず、DllMainから入って出ていく。
ImeInquireから入って初期化を行って、出ていく。
ImeSelectから入って内部でMzIme::UpdateIndicIconが呼ばれ、
INDICATOR_CLASSウィンドウクラスのウィンドウを使って
インディケータアイコンを更新して、
IMCをロックして、InputContext::Initializeを呼んで、入力文脈を初期化、
IMCをアンロックする。ImeSelectを去る。 続き。
ImeSetActiveContextから入る。再びMzIme::UpdateIndicIconが呼ばれる。ImeSetActiveContextを去る。
MZIMEWndProcから入る。おそらくIMEウィンドウクラスのインスタンスだろう。
MZIMEWndProcは実引数と戻り値に関してもうちょっと詳しい情報が欲しい。改良が必要だ。
WM_CREATEが来る。以下は後で詳しく分析する。 ごめんなさい、プログラミングの話は全く通じないみたいだね。移動します。
★自作プログラム、評価してよスレッド」★1 [無断転載禁止]??2ch.net
http://mevius.2ch.net/test/read.cgi/tech/1450859278/ __ /
/⌒ ヽ / /
( )'゙ヽ. _/
. /iー-‐'"i ,; /
i ! ( ヽ. ) ノ/ .:/
(\.゙ヽ_(_/,イ/
i ! (\\_,_)' ノ >>859
(\\_,_,)'
i ! l ,i\ ヽ、 ! あ”っー あ”っー あ”っー あ”っー あ”っー
し' /⌒~~~⌒\ ( ,,) (,,・Д・)
/ ( ゚>t≡ )y─┛~~ 〜(___ノ 〜(___ノ ,γ_
(_ ノγ U ∩_∩) THANK YOU 2ch ┌───────┐ \
α___J _J and (| ● ● | ヽ
/ ̄ ̄ ̄ ̄\ GOOD-BYE 2ch WORLD! /.| .┌▽▽▽▽┐ .|____|__||_| ))
/ ● ●、 ( ┤ .| | .|□━□ )
|Y Y \ またどこかで会おうね \. .└△△△△┘ .| J |)
|.| | .▼ | | \あ\ | ∀ ノ
| \/ _人|∧∧∩゛冫、 .∧_∧ | \り.\ . | - ′
| _/)/)/( ゚Д゚)/ ` . (´∀` )..ヽ(´ー`)ノ \が\ . | )
\ / 〔/\〕 U / ∩∩ ( ) (___) \と.\ .|/
| | | c(*・_・) | |ヽ(´ー`)ノ_| | | | |〜 /\.\う\| (-_-)
(__)_) UUUU /∪∪ (___)(_(__) ◎ ̄ ̄◎─┘ .└──┘.(∩∩) プログラミングの話が悪いのではなく片山のコミュ力が絶望的なのが問題 ReactOSのソースコードをSVNからGitHubに引っ越すらしい このプロジェクトに未来はあるのだろうか
続ける情熱はどこから出てくるのだろう
Linuxのパッケージ開発の方が有意義だと思うのだが… アホだからってのははずででもないな
MenuetOSや派生のKolibriOSみたいにフロッピー1枚の容量で動作するOSとか実用性0な趣味の世界もある linuxは長い歴史があるけど
パッケージは短命だと思う >>868
「賢い人」はすぐあきらめるが、アホは簡単にくじけんぞ。
もしかしたら、そういうアホ力が世の中を変えるのかもしれない。 最新ハード上でホストOSとして動作してくれないと普及は難しいだろうなあ 大唐吐蕃回廊漢宮秋月康秀華南京都大白微宮廷記 [無断転載禁止]??2ch.net
http://mevius.2ch.net/test/read.cgi/tech/1505917105/
こちらのスレでまじめにWindowsシステム解析の研究を続けています。 これで誰でもGitHubのやり方で開発に参加できる訳だ。SVNにさようなら。 うまく行ったら、線の太さを変えられるようになるかも知れない。
CORE-2527 - pen width (CreatePen) doesn't work
https://jira.reactos.org/browse/CORE-2527 たった三行の変更でも何時間も時間を掛けてテストされている。時間の掛かる作業だ。 いつになったら reactos.cab に日本語フォントがデフォルトで入るのか? >>886
容量の関係でNightly Buildには日本語フォントはバンドルされないようです。次の正式リリースをお待ち下さい。 sourceforgeにReactOS-0.4.7-RC1があるぞ 最新のビルドでは、CD/DVDの取り出しが出来るようになったみたいだ。 ■ このスレッドは過去ログ倉庫に格納されています