「Hello、World!」と入力します


11

を入力するキーボードイベントを生成するプログラムを作成しますHello, World!

プラットフォームに依存する必要はありません。

キーを押したままにすることはできません。たとえば、Javaでは、押されたRobot.KeyPress('H');ままHになります。Robot.KeyRelease('H');

プログラムの実行時に、Caps Lockがオフになっていると想定できます。大文字を入力するには、Shiftキーを押しながら文字を押すか、Caps Lockを切り替えます。には!、おそらくshiftメソッドを使用する必要があります。

最短のコードが優先されます。

回答:


9

C(Linux)、186バイト

#include<sys/ioctl.h>
#include<fcntl.h>
#include<stdio.h>
main(){char*s="Hello, World!",d[99],*c;fscanf(popen("tty","r"),"%s",d);int D=open(d,O_RDWR);for(c=s;*c;c++)ioctl(D,TIOCSTI,c);}

ugorenの提案を適用した後:

111バイト

main(D){char*c,d[99];fscanf(popen("tty","r"),"%s",d);D=open(d,2);for(c="Hello, World!";*c;)ioctl(D,21522,c++);}

いくつか短縮できます。削除s(ちょうど初期化for(c="H..)、増分cではioctlmain(D)保存することint。また、一部のインクルード(ハー​​ドコードO_RDWRおよびさえTIOCSTI)を削除する場合があります。
ウゴレン

@ugorenありがとう、私はそれらを試してみます:)
saeedn

これは最短ではありません。なぜこれが受け入れられた答えですか?(いい答えだと思いますが、サイトの仕組みを知りたいだけです。)
11684

@ 11684最短回答の作成者は、それを数えないように私に求めたので、代わりに最短の重要な回答を受け入れました。
cardboard_box

呼び出す必要はありませんtty。stdinがttyである場合にのみ機能します。ttyの場合、0すでに端末fdが開いています。
デイブ

18

AppleScript、50バイト

tell app"System Events"to keystroke"Hello, World!"

提案してくれたmarinusに感謝します。


3
ええ 適切な仕事に適切な言語を選択したようです。
cardboard_box

に短縮できtell app"System Events"to keystroke"Hello, World!"ます。
マリヌス

ダムニット、私はこれを独立して考えました... +1!
11684

13

オートホットキー、20バイト

send Hello, World{!}

これを数えないでください。キーストロークを送信することを意図していない言語で実際にこれを行った人をだましません。この答えは単に完成のためです:P



3

Windows 7のC、201バイト

#include<windows.h>
#include<winable.h>
#define S SendInput(1,&k,28);
int k[7]={1};main(i){char*s="^HELLO, ^WORLD^1";for(i=0;i<16;i++){k[2]=0;if(s[i]>90){k[1]=16;S i++;}k[1]=s[i];S k[2]=2;S k[1]=16;S}}

プログラム結果:

C:\My\Directory>type.exe

C:\My\Directory>Hello, World!


1

VBScript、54バイト

createobject("wscript.shell").sendkeys "Hello, World!"

1

Tcl、46バイト

package r Expect;spawn bash;send Hello,\ World

期待、29バイト

spawn bash;send Hello,\ World

Tkのバージョンを実行しようとしましたが、失敗しました:いくつかのものを使用してファイルpastebin.ca/3897417
sergiol




弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.