[Mew-Win32 00101] Re: How to change directory timestamps.

YAMAGUCHI, Shuhei yamagus at example.com
1998年 1月 19日 (月) 02:15:32 JST


やまぐち@ねっとらぴゅたの住人、です。

>>> In article <19980117220002D.shuuic-k at example.com>,
>>>    Shuichi Kitaguchi <shuuic-k at example.com> writes:

  shuuic-k> まだ確認はしてません(というよりできません)が、どうやら Windows95 上でも
  shuuic-k> ディレクトリのタイムスタンプの変更ができるようです。
  shuuic-k> が、int 21h の 7143h とかいうものだそうです。ここで質問&お願いです。

Extended Get Or Set File Attributesというやつですね。
VC4.0のBooks OnlineでSDKsの中をDOSで検索したら出てきました。
  Win32 SDK
  -> Guides
     -> Programmers Guide to Windows95
        -> Using Microsoft MS-DOS Extensions
           -> MS-DOS Extensions
              -> Long Filenames
#VCのバージョン違うと、ツリー構成違うかな?

いやー、こんなのあったんですね。
ただ、おなじ所に、Set Last Access Date and Timeというのもあって、こち
らを見ると、Last Access Timeは日付けのみで、時間はサポートしてないよう
です。
これは確認ですけど、Create Timeの日時を変更できればいいんですよね?

あと、空覚えなんですが、Win95でディレクトリの作成日時が変更できないと
いうのは、確かディレクトリを書き込みオープンが出来ないからだと聞いた覚
えがあります。
DOSコール(Create or Open File, Int 21h, 716Ch)でやれば、書き込みオープ
ンが出来るんでしょうかね?
#この辺り、全然わかっていないです。 ^^;


  shuuic-k> ・DOS 上のコンパイラなら intなんちゃら() ような関数があってそれで
  shuuic-k>   int 21h 等を発行できていたように思いますが、VC++ でそのようなことは
  shuuic-k>   できるのでしょうか?(調べたけどわからなかった&なさそう)

同じくVC4.0のBooks Onlineに、DeviceIoControlというのがありました。
  Win32 SDK
  -> Guides
     -> Programmers Guide to Windows95
        -> Using Windows95 Features
           -> Device I/O Control
              -> Input and Output Control in Applications
                 -> Using VWin32 to Carry out MS-DOS Functions

きちんと読んでないので、ハッキリした事は言えませんが、これが使えそうな
気がします。

でわでわ
-- 
yamagus at example.com / やまぐち@ねっとらぴゅたの住人
  yamagus at example.com / 山口 修平
PGP-Fingerprint: 25 0F 6F E1 57 AD 56 08  3A BC D0 9B 48 AF 31 7A

#とりあえず試しにサンプルでも書いてみようと思ったのですが、Win95の再
#インストール直後で、まだMule for Win32もMeadowも入ってなくて、ソース
#書く気が出なかったです…。 ^^;
#明日、仕事が早く終れば試してみます。 ^^;;



Mew-win32 メーリングリストの案内