ソモサン

私rohkiによる活動や読書の記録をつらつらと書くページです

Rust + Windows でウィンドウタイトルとかとってみる

なにしてんねん

社会人生活4年目で、Windows に染まりきってしまいました・・・
ShellScript で GCC ビルドをしていたあの頃にはもう・・・

さて

Rust をこのごろ触ってます。
で、Windows でも API がちょろっとあったので、試しにやってみました。

ROki1988/active_window_logger

で、僕的に おー と思ったのが、この部分。

    let mut title = vec![ 0u16; (length + 1) as usize ];
    unsafe {
        user32::GetWindowTextW(whdl, title.as_mut_ptr(), length + 1);
    }

unsafe 何ていうから malloc/free なのかなーなんて思ってたんですが、するっと確保出来ました。
言われてみれば、たしかになー。頭固かった。
mut vec! の as_mut_ptr() を返せば、変更可能なメモリ領域ですよ。
僕みたいな API べたべた触る人間にはありがたい限りです。

つぎー

構造体がサンプルの哲学者ぐらいでしか書いてないので、そろそろちゃんと書きます。
trait とかもまだ。
構造体配列をとってきてとかも面白そうですね。

Lifetime? HAHAHA!

参考 URL