初歩的な質問で申し訳ありませんがマウスを左クリックさせるプログラムを教えてください。(クリック時イベントではありません)
他のアプリケーションのボタンを押したり押しっぱなしにするプログラムをつくりたいのです。お願いします。

A 回答 (4件)

>左クリックさせる


方法は大きくわけて二つあります。

1.SendMessage関数

Const BN_CLICKED = 0
Call SendMessage(CommandButton.hWnd,BN_CLICKED,0,0)
だったかな?
ボタンに直接クリックメッセージを送信する方法です。


2.はmouse_event関数
http://www.microsoft.com/JAPAN/developer/library …
しばらく使ってないから忘れたけど、確かマウスが自動で移動されてしまうような・・・かなりあいまいです・・・


>押しっぱなしにする
Const WM_LBUTTONDOWN = &H201
Call SendMessage(CommandButton.hWnd,WM_LBUTTONDOWN,0,0)


すべて未検証です。今VB環境がないので・・・
    • good
    • 0
この回答へのお礼

回答ありがとうございます。だいたいのあらましはわかりました。でも私にはかなりむつかしそうです。でもチャレンジしてみます。

お礼日時:2001/12/04 11:47

そのボタンにメッセージを投げればいいのだが、SendMessageだと


そのボタンのウインドウハンドル(hWnd)を取得するのが厄介です。
# 不可能ではないとは思います。

VC付属のSpy++でそのボタンのコントロールIDを調べて、

Call SendDlgItemMessage(コントロールID,BN_CLICKED,0,0)

でどうでしょうか?(未検証)
    • good
    • 0
この回答へのお礼

回答ありがとうございます。だいたいのあらましはわかりました。でも私にはかなりむつかしそうです。でもチャレンジしてみます。

お礼日時:2001/12/04 11:50

私ならAPIを使います。

確かにCでやるほうが楽ですね。

以前、表示させているダイアログのOKボタンを自動で(プログラムから)押下
するプログラムを作成しましたが、その時は#1のおっしゃるようにしました。

ウィンドウハンドルを取得するのは、FindWindow
OKメッセージを送信するのはSendMessage

これらのAPIを駆使してVCでやりました。
OKメッセージを送信する個所を左クリックメッセージに変えれば
できるかと思います。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。だいたいのあらましはわかりました。でも私にはかなりむつかしそうです。でもチャレンジしてみます。

お礼日時:2001/12/04 11:49

いえいえかなり高度な質問だと思われます。



簡単なフローとしては、
1.他のアプリケーションのウィンドウハンドルを取得する。
2.そのハンドルのボタンイベントに対して左クリックイベントを投げる。
です。

しかし詳細はとてもここには書ききれません。

P.S.
私ならこれをVBでやるのはやだなぁ…。
C++で作っちゃいます。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。だいたいのあらましはわかりました。でも私にはかなりむつかしそうです。でもチャレンジしてみます。

お礼日時:2001/12/04 11:51

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QJQueryでクリック時のタグの親子の関係について

以下のコードのspanをクリックするとspanとdivをクリックしたことになってしまいます。
spanをクリックしてもdivをクリックしたことにしないようにするには
どうすればよいのでしょうか?
<!DOCTYPE HTML>
<html lang="ja">
<head>
<meta charset="UTF-8">
<style>
div {
padding: 20px;
background: #EEE;
}
</style>
<script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
<script>
$(function(){
$("div").click(function(){
console.log("click div");
});
$("span").click(function(){
console.log("click span");
});
});
</script>
</head>
<body>
<div>
<span>Click!</span>
</div>
</body>
</html>

以下のコードのspanをクリックするとspanとdivをクリックしたことになってしまいます。
spanをクリックしてもdivをクリックしたことにしないようにするには
どうすればよいのでしょうか?
<!DOCTYPE HTML>
<html lang="ja">
<head>
<meta charset="UTF-8">
<style>
div {
padding: 20px;
background: #EEE;
}
</style>
<script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
<script>
$(function(){
$("div").click(function(){
console.log("click div");
});
$("span").click(function(){
consol...続きを読む

Aベストアンサー

ライブラリを使用しない場合は、
divとspanの両方にイベントハンドラを登録した場合、"click span"のあとに"click div"の2つのアラートが順番に出るはずです。

jQueryを使用した場合に"click div"しか出ないのであれば、
jQueryの内部処理にて、click spanが抑制されていると思います。

すみませんがjQueryについてはわかりかねますので、内部処理の抑制を解く方法を知らないのですが、
.click()を呼び出す(イベントハンドラを登録する)順番を逆にするとどうでしょうか。

$(function(){
$("span").click(function(e){
e.stopPropagation();
console.log("click span");
});
$("div").click(function(e){
e.stopPropagation();
console.log("click div");
});
});

その上で、No.2に書かれているような処理の伝播を止める方法を使えばいいと思います。

--------
別の方法として。

<div>にだけイベントハンドラを登録して、その内部でどの要素がクリックされたかを判断してみてはどうでしょうか。

$(function(){
$("div").click(function(){
if( $(this).get(0).nodeName==='SPAN' ){
console.log("click span");
}else{
console.log("click div");
}
});
});

ライブラリを使用しない場合は、
divとspanの両方にイベントハンドラを登録した場合、"click span"のあとに"click div"の2つのアラートが順番に出るはずです。

jQueryを使用した場合に"click div"しか出ないのであれば、
jQueryの内部処理にて、click spanが抑制されていると思います。

すみませんがjQueryについてはわかりかねますので、内部処理の抑制を解く方法を知らないのですが、
.click()を呼び出す(イベントハンドラを登録する)順番を逆にするとどうでしょうか。

$(function(){
$("span").click(fun...続きを読む

Qボタンをマウスで押し続けたときのイベント

VB2005,Frameworks2を使用しています。

フォームに設置したButtonは、通常マウスをクリックする度にイベントが発生しますが、これをボタンをマウスで押している間だけイベントを発生されたいのですがその様なイベントやボタンの設定が見つかりません。

やはりタイマー等を使わないと再現できないのでしょうか?
よろしくお願いします。

Aベストアンサー

繰り返し処理ならMouseDownでタイマースタート、MouseUpでタイマー停止、がシンプルだと思われます。
ボタンを押している間だけ何らかの処理が進行するようなものなら、マルチスレッドですかね。MouseDownでスレッドスタート、MouseUpでスレッドを停止させるようなフラグをONにするか、スレッド強制終了させるか。。。
どちらにしても、イベントのプロシージャからは即座に脱出しないとパフォーマンスに影響します。

QワードプレスでjQuery 右から飛び出ているボタンをクリックするとボックスがスライドして出てくるよ

ワードプレスでjQuery

右から飛び出ているボタンをクリックするとボックスがスライドして出てくるようにしたのですが、ワードプレスでjQueryを使う方法が調べてもよくわかりませんでした。
(調べるとたくさん出てくるのですが、その通りにやってもうまく動きません)

この件で何日も悩んでいて本当に困っています。
知識のある方、教えていただけませんか?

どうか宜しくお願いします(TT)

Aベストアンサー

>これをダウンロードして、どこへダウンロードしたデータをアップロードしたらよいのでしょうか?
答えはすべて前回のところにありますよ。
<link rel="stylesheet" type="text/css" href="<?php bloginfo('template_url'); ?>/css/jquery.bxslider.css">
<script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/jquery.bxslider.min.js"></script>
これです。
なので、私の場合は、テーマの中に「css」と「js」フォルダを作ってその中に入れているので、js/jquery.bxslider.min.jsこのようにしてます。
すべてここで聞くのではなくて、ネットで調べたらたくさんでてきます。
今後自分で作っていくのであれば検索して解決していかないと何もできませんよ。

Q他のアプリケーションをクリックしたときのイベントを得る方法

タイトル通り、他のアプリケーションを左クリックしたときのイベントを得たいのですが、うまくいきません。

具体的には、DirectXを使って動いているフルスクリーンのアプリケーションを左クリックしたときにイベントを得るということです。

http://tokyo.cool.ne.jp/kanain/APIHTM/GetMsg.html

こちらで紹介されている方法でVBのフォームを左クリックしたときのイベントは得ることができました。

そして、他のアプリケーションのハンドルを取得して引数に指定してみましたが、うまくいきません。

分かりにくい説明ですみません^^;

何が間違っているのでしょうか。自分なりに作ってみたソースを記述した方がよいでしょうか?また、全く違う方法でも構わないので他のアプリケーションを左クリックしたときのイベントを得る方法がありましたら教えてください。

バージョン:VB6.0

Aベストアンサー

ここよりの引用
http://www.microsoft.com/JAPAN/developer/library/jpuipf/_win32_setwindowlong.htm
「Windows 95/98:hWnd パラメータで指定したウィンドウが SetWindowLong 関数を呼び出したスレッドと同じプロセスに属していないと、SetWindowLong 関数は失敗します。」


他プロセスのイベントの取得はグローバルフックを使えばできますが、VBだけでは無理っぽいですね。

http://www.geocities.co.jp/SiliconValley/7406/tips/mouse/

Q1枚の画像をクリックして複数の画像と詳細を入れられるJQueryのLightBoxプラグイン

JQueryのLightBoxプラグインでは、1枚の画像をクリックしたら、他の並べてある画像も見れてしまうと思います。

今回、1枚の画像をクリックして複数の画像と詳細を入れられるLightBoxのプラグインを探しています。

何がしたいかと言いますと、例としましては、一覧の商品画像が並んでいて、その画像をクリックすると、その商品の他の画像も見れて、そこには、簡単な商品情報を写真の下にHTMLで記載できるようなタイプを探しています。

最初は、ポップアップのみ実装して、そこにスライドショーをはめ込み、下に詳細をHTML・CSSで作成していたのですが、どうしてもポップアップしてからのスライドショーがうまく動かず、ブラウザのウィンドウの横幅をずらずと、スライドショーが正常に動くのですが、色々CSSなどをいじってみたのですが、解決しなかったため、LightBoxのプラグインならやりたいことができるかと思い、探しているんですが、詳細情報をHTML・CSSで実装できないものばかりです。

そこで良いJQueryのプラグインを知っている方がいれば教えていただきたいです。

宜しくお願いします。

JQueryのLightBoxプラグインでは、1枚の画像をクリックしたら、他の並べてある画像も見れてしまうと思います。

今回、1枚の画像をクリックして複数の画像と詳細を入れられるLightBoxのプラグインを探しています。

何がしたいかと言いますと、例としましては、一覧の商品画像が並んでいて、その画像をクリックすると、その商品の他の画像も見れて、そこには、簡単な商品情報を写真の下にHTMLで記載できるようなタイプを探しています。

最初は、ポップアップのみ実装して、そこにスライドショーをはめ込み...続きを読む

Aベストアンサー

こんにちは
少し調べてみただけなので、ヒントにでもなれば程度ですが・・・


>一覧の商品画像が並んでいて、その画像をクリックすると、
>その商品の他の画像も見れて、そこには、簡単な商品情報を
>写真の下にHTMLで記載できるようなタイプを探しています。
LightBox系のプラグインは数多くあるので種々様々ですが、画像のグループ化ができて、キャプションを付けられるものが多くあります。
画像グループの一つだけを表示して(残りは非表示)おいて、利用すれば似たようなことが実現可能と思います。
ただし、大抵の場合、キャプション部分はtitle属性やrel属性を利用していると思いますので、テキストになってしまいます。

>ポップアップのみ実装して、そこにスライドショーをはめ込み、
>下に詳細をHTML・CSSで作成していたのですが、どうしても
>ポップアップしてからのスライドショーがうまく動かず~
この方法もありのように思います。
ポップアップの実装はライブラリを利用したのでしょうか?
LightBox系のライブラリの多くは、背景レイヤや表示レイヤなどの構成があるので、先にこれらの要素を作成しておいて、その中に表示する要素の『コピー』を作成して表示しているものが多いと思います。
それなので、最初のHTML要素にスライドショーを設定しても、コピーには反映されないということが起こっていたりしませんか?
表示の際のイベントを取得できるAPIを用意しているプラグインを利用すれば、セット後に表示用の要素に対してスライドショーの初期設定を行うようにすれば実装可能ではないかと想像します。
ただし、この場合は画像ではなくコンテンツを表示できるタイプのプラグインである必要がありますね。

>詳細情報をHTML・CSSで実装できないものばかりです。
上にも述べましたが、画像専用ではなく、コンテンツを表示できるタイプのものを選べばHTML、CSSともに利用可能と思います。
ただし、要素のコピーが表示される可能性があるので、CSSの要素指定には少しだけ注意が必要かもしれません。

>ポップアップした写真をクリックすると、外部リンクへいき、
>矢印をクリックすると次の画像が見れる仕様にできるものを探しています
通常のLightBox系のものでは、対象の指定が
 <a href="one.jpg" title="Image Caption">
  <img src="one_thumb.jpg" alt="">
 </a>
のような構造になっているものが多いと思いますので、これに対してさらにリンクを設定しようとすると、別途工夫が必要になりそうです。
それよりも、インラインコンテンツなどを表示可能なプラグインを利用なさる方が、HTMLでのリンク設定が可能になるので、扱いは楽になりそうですね。

数は少ないかも知れませんが、コンテンツ表示でグループ化できそうなものもあるようです。
配布サイトの雰囲気を見ただけで、実際にはテストしていませんので明言できませんが、例えば・・・
http://www.no-margin-for-errors.com/projects/prettyphoto-jquery-lightbox-clone/#prettyPhoto
下の方にある「Inline content」の例を見ると、複数のコンテンツをページングしていますので、このような利用方法で実現の可能性があるのではないかと推測します。

あるいは、
http://fancybox.net/home
fancyboxもコンテンツ表示が可能なプラグインですが、一番下の「manual call 」で、manual2の指定では直接に複数の画像を指定しています。
exampleは画像なのですが、対象の指定にインラインコンテンツ(またはjQuery オブジェクトやHTML要素など)を指定できるなら、同様に実現できそうに思えます。
ただし、このタイプの書式の説明がサイト内をざっと見ても見当たらなかったので、残念ながら可能なのかどうかがわかりません。

※ 簡単に調べてみただけなので、とてもお役には立たないと思いますが、少しはご参考にでもなれば・・・

こんにちは
少し調べてみただけなので、ヒントにでもなれば程度ですが・・・


>一覧の商品画像が並んでいて、その画像をクリックすると、
>その商品の他の画像も見れて、そこには、簡単な商品情報を
>写真の下にHTMLで記載できるようなタイプを探しています。
LightBox系のプラグインは数多くあるので種々様々ですが、画像のグループ化ができて、キャプションを付けられるものが多くあります。
画像グループの一つだけを表示して(残りは非表示)おいて、利用すれば似たようなことが実現可能と思います。
ただ...続きを読む

QExcel VBAでマウスの左クリックのイベントを検知するには

お世話になります。

ExcelのVBAを利用して、マウスが左クリックされた際、そのイベントを
検知する方法はありますでしょうか?

使用しているExcelは2003です。

よろしくお願いします。

Aベストアンサー

■ マウスやキーボードのイベントを取得する
http://home.att.ne.jp/zeta/gen/excel/c04p07.htm

こちらが参考になりそうです。

QjQueryでネスト構造の
  • がクリックされた時にそのidを取得する方法について
  • jQueryでネスト構造になっているリストがクリックされた時に、そのidを取得するプログラムを作っています。
    第一階層は取得できるのですが、第二階層の<li>をクリックすると二重に処理が動いたり、親要素の値が取得されてしまったりしてうまく動きません。

    jQueryでの取得方法を教えていただければと思います。

    [HTML部分]
    <ul id="sample">
    <li class="parent" id="1-1">項目1−1
    <ul class="children">
    <li class="chaild" id="2-1"></i>項目2-1</li>
    <li class="chaild" id="2-2">項目2-2</li>
    <li class="chaild" id="2-3">項目2-3</li>
    </ul>
    </li>
    <li class="parent" id="1-2">項目1−2</li>
    </ul>

    [jQuery部分]
    <script type="text/javascript">
    $(document).on('click', '.parent , . child', function (e) {
    var id = $(this).attr("id");
    alert(id);
    });
    </script>


    onクリックのセレクタの指定をいろいろと試してみましたが、下記のような結果となりうまく動作しません。
    ('.parent , . child')
    親は正しくidが取得できたが、子はすべて1-1となってしまい、正しく取得できない。

    ('li')
    親は正しくidが取得できたが,子は2-1と取得できてから、もう一度1-1と取得され、2回処理が動いてしまっている。

    ('.parent')
    親は正しくidが取得できたが、子は全て1-1と取得される。

    ('#sample>.parent li')
    子要素は正しく取得できるが、親要素が取得できない。

    jQueryでネスト構造になっているリストがクリックされた時に、そのidを取得するプログラムを作っています。
    第一階層は取得できるのですが、第二階層の<li>をクリックすると二重に処理が動いたり、親要素の値が取得されてしまったりしてうまく動きません。

    jQueryでの取得方法を教えていただければと思います。

    [HTML部分]
    <ul id="sample">
    <li class="parent" id="1-1">項目1−1
    <ul class="children">
    <li class="chaild" id="2-1"></i>項目2-1</li>
    <li ...続きを読む

    Aベストアンサー

    クリックしたliだけつかみたいなら、e.stopPropagation()してバブリングを抑止してください
    <script>
    $(document).on('click', 'li', function (e) {
    var id = $(this).prop("id");
    console.log(id);
    e.stopPropagation();
    });
    </script>

    <ul id="sample">
    <li class="parent" id="1-1">項目1-1
    <ul class="children">
    <li class="chaild" id="2-1">項目2-1</li>
    <li class="chaild" id="2-2">項目2-2</li>
    <li class="chaild" id="2-3">項目2-3</li>
    </ul>
    </li>
    <li class="parent" id="1-2">項目1-2</li>
    </ul>

    [jQuery部分]

    QVB.NETでのマウスクリック・ドラッグイベント

    非常に基本的な質問で恐縮です。
    VB2005.NETで、マウスが左クリックされた状態でマウスが移動した距離を元にある処理を行いたいと思っています。(マウスをクリックしている間は、自由に線が書けるというものです。) なるべくシンプルな方法であれば嬉しいです。よろしくお願いいたします。

    Aベストアンサー

    お世話になります。

    マウスの左ボタンがクリックされた時
     → MouseDown
    マウスの左ボタンから指が離された時
     → MouseUp
    のそれぞれの座標値を捕らえてやれば
    距離の計算は出来ると思います。

    Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseDown
      If e.Button = Windows.Forms.MouseButtons.Left Then
        Console.WriteLine("MouseDown")
        Console.WriteLine("X:" & e.X)
        Console.WriteLine("Y:" & e.Y)
      End If
    End Sub

    Private Sub Form1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseUp
      If e.Button = Windows.Forms.MouseButtons.Left Then
        Console.WriteLine("MouseUp")
        Console.WriteLine("X:" & e.X)
        Console.WriteLine("Y:" & e.Y)
      End If
    End Sub

    お世話になります。

    マウスの左ボタンがクリックされた時
     → MouseDown
    マウスの左ボタンから指が離された時
     → MouseUp
    のそれぞれの座標値を捕らえてやれば
    距離の計算は出来ると思います。

    Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseDown
      If e.Button = Windows.Forms.MouseButtons.Left Then
        Console.WriteLine("MouseDown")
        Console.WriteLine("X:" & e.X)
        Console.WriteLine("Y...続きを読む

    QjQueryで右クリック禁止後に再度有効にする方法

    以下のコードでブラウザ上の右クリックを禁止にしましたが、
    再度再開をしたい場合どのように記述すればよろしいのでしょうか?

    $(document).bind('contextmenu', function(e) { return false; });

    jQueryのverが古いのは気にしないで下さい。
    是非宜しくお願い致します。

    Aベストアンサー

    $(document).unbind('contextmenu');

    もしくは

    var お控えください = true;
    $(document).bind('contextmenu', function(e) { return !お控えください; });
    // 再開時
    お控えください = false;

    Qプログラムの中でコマンドボタンを押す動作を記述

    プログラム中にコマンドボタンを押す動作はどのように記述すればよいのでしょうか?
    コマンドボタン1を押して、その処理をしている途中にコマンドボタン2を押したいです。

    Private Sub Command1_Click()

    途中にコマンドボタン2を押したい。

    End Sub

    Aベストアンサー

    CommandButton2.Value = True


    人気Q&Aランキング

    おすすめ情報