Справка по сценарию мыши - PullRequest
0 голосов
/ 11 июня 2011

Мне нужно заставить мышь щелкнуть мышью в какой-то точке экрана, чтобы быть точнее, в flash-объекте в сафари Я попытался сделать это с appleScript, но это не сработало. Потом я нашел этот скрипт в интернете.

    // File: 
    // click.m
    //
    // Compile with: 
    // gcc -o click click.m -framework ApplicationServices -framework Foundation
    //
    // Usage:
    // ./click -x pixels -y pixels 
    // At the given coordinates it will click and release.


    #import <Foundation/Foundation.h>
    #import <ApplicationServices/ApplicationServices.h>


    int main(int argc, char *argv[]) {
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
    NSUserDefaults *args = [NSUserDefaults standardUserDefaults];


    // grabs command line arguments -x and -y
    //
    int x = [args integerForKey:@"x"];
    int y = [args integerForKey:@"y"];


    // The data structure CGPoint represents a point in a two-dimensional
    // coordinate system.  Here, X and Y distance from upper left, in pixels.
    //
    CGPoint pt;
    pt.x = x;
    pt.y = y;


    // This is where the magic happens.  See CGRemoteOperation.h for details.
    //
    // CGPostMouseEvent( CGPoint        mouseCursorPosition,
   //                   boolean_t      updateMouseCursorPosition,
   //                   CGButtonCount  buttonCount,
  //                   boolean_t      mouseButtonDown, ... )
  //
  // So, we feed coordinates to CGPostMouseEvent, put the mouse there,
 // then click and release.
 //
 CGPostMouseEvent( pt, 1, 1, 1 );
 CGPostMouseEvent( pt, 1, 1, 0 );


[pool release];
return 0;
}

У меня есть только сценарий на appleScript, поэтому я не совсем понял

но когда я активирую его, он щелкает вверху слева

но вот мой вопрос: что я должен использовать в сценарии, чтобы он щелкал в других местах, кроме верхнего угла

больше информации о скрипте на этом сайте: http://hints.macworld.com/article.php?story=2008051406323031

1 Ответ

2 голосов
/ 11 июня 2011

Это то, что вы изучаете на большинстве вводных курсов по программированию.Полный ответ будет очень длинным, поэтому я просто расскажу вам несколько краеугольных камней:

  • Программа, которую вы скачали, не является скриптом
  • Это источник-C-sourcecode
  • Вам нужно научиться работать с приложением Terminal (командная строка).
  • Вам нужно научиться вызывать команды на терминале (например, gcc)
  • Youдолжны понимать значение слова compile.В этом случае автор хотел, чтобы вы сделали это в командной строке.

Второй шаг:

  • // запускает комментарий в Задаче C
  • gcc ... - это команда, которая должна быть выполнена в командной строке для компиляции программы
  • ./click - это то, что вы делаете для вызова программы (после того, как вы ее скомпилировали :-))

gcc -o click click.m -framework ApplicationServices -framework Foundation означает:

  • gcc: Компилятор Gnu C
  • -o click: Программа должна иметь имя click
  • click.m: Это должно быть имя исходного кода (файл, который вы назвали 'script')

надеюсь, это поможет ...

...