HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2010
0605
woodnvPlayerのウインドウ3解決


wood

リンク

2010/6/5(Sat) 19:01:57|NO.33027

下記のスクリプトのように、FindWindowを使ってウインドウタイトルを取得し、
SetWindowPosでウインドウの表示位置や大きさを変えるようにしたいのですが、
他のアプリケーションは使えるのですが、nvplayerという動画プレーヤーでは
メイン画面ではなくプレイリストの方が変更されてしまうようです。
メイン画面の方を変えられるようにできないでしょうか。



#uselib "user32.dll" #func SetWindowPos "SetWindowPos" int,int,int,int,int,int,int #func FindWindow "FindWindowA" int,str ;#define SWP_NOMOVE $00000002 name="nvplayer ver 0.6.15 Limited" FindWindow 0,name hTarget=stat SetWindowPos hTarget,,10,10,100,100,SWP_NOMOVE ;(SWP_NOMOVE | SWP_NOSIZE | SWP_SHOWWINDOW);サイズ



この記事に返信する


KA

リンク

2010/6/6(Sun) 01:31:21|NO.33032

私はそのプレーヤーを使ったことが無いのですが、その”リストウインドウ”と”再生ウ
インドウ”が、分かれているのでしょうか。
分かれているのなら、リストウインドウの方を取得しているのでは?

または、”リストW”がメインで”再生W”は、その下位に作られているとか。

詳しくないので的外れだったら、無視してください。



Him

リンク

2010/6/6(Sun) 02:36:03|NO.33033

"nvplayer ver 0.6.22 Limited"で試したのでクラス名が一致するか分かりませんが

#include "user32.as" dim nave, 3 WindowName = "nvplayer ver" ClassName = "TMain", "TSub", "TApplication" hChildAfter = 0 repeat FindWindowEx 0, hChildAfter, 0, 0 if stat { hChildAfter = stat sdim pWindowName GetWindowText hChildAfter, varptr(pWindowName), 64 if instr (pWindowName, 0, WindowName) ! -1 { sdim pClassName GetClassName hChildAfter, varptr(pClassName), 64 repeat 3 if pClassName = ClassName(cnt) { nave(cnt) = hChildAfter break } loop } } else { break } loop repeat 3 mes strf (ClassName(cnt) + " : 0x%08x", nave(cnt)) loop //メインウィンドウ SetWindowPos nave(0), 0, 10, 10, 400, 200, 0 //サブウィンドウ SetWindowPos nave(1), 0, 10, 210, 400, 200, 0



wood

リンク

2010/6/7(Mon) 18:18:34|NO.33124

解決しました。自分も"nvplayer ver 0.6.22 Limited"を使っているのでこのスクリプトで
設定できます。クラス名などの使い方を調べても分からず悩んでいたのですが、
このスクリプトを参考に勉強します。ありがとうございました。



ONION software Copyright 1997-2021(c) All rights reserved.