“Hello, World!”라고 입력하십시오.


11

어떤 종류의 키보드 이벤트를 생성하는 프로그램을 작성하십시오 Hello, World!.

플랫폼 독립적 일 필요는 없습니다.

아무 키나 누르지 않아도됩니다. 예를 들어, Java에서는 눌린 상태로 Robot.KeyPress('H');두어야 H합니다.Robot.KeyRelease('H');

프로그램이 실행될 때 캡 잠금이 해제되었다고 가정 할 수 있습니다. Shift 키를 누른 채 문자를 누르거나 대문자 잠금을 토글하여 대문자를 입력 할 수 있습니다. 의 경우 !아마도 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);}

우고 렌의 제안을 적용한 후 :

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..) 증가를 cioctl, main(D)저장 int. 어쩌면 일부 포함 (하드 코드 O_RDWRTIOCSTI) 도 제거 할 수 있습니다 .
ugoren

@ugoren 감사합니다, 나는 그들을 시도합니다 :)
saeedn

이것은 가장 짧지 않습니다. 이것이 왜 대답입니까? (나는 그것이 좋은 대답이라고 생각하지만 사이트의 작동 방식을 배우고 싶습니다.)
11684

@ 11684 가장 짧은 답변의 저자는 그것을 세지 말라고 요청했기 때문에 대신 가장 짧은 간단한 답변을 수락했습니다.
cardboard_box

ttystdin이 tty 인 경우에만 호출 할 필요가 없으며 , 0이 경우 이미 열린 터미널 fd입니다.
Dave

18

AppleScript, 50 바이트

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

제안 해주신 marinus에게 감사드립니다.


3
허. 올바른 직업에 적합한 언어를 선택한 것 같습니다.
cardboard_box

로 줄일 수 있습니다 tell app"System Events"to keystroke"Hello, World!".
marinus

젠장, 나는 이것을 독립적으로 생각했다 ... +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

USB Rubber Ducky 용 Ducky 스크립트, 22 바이트

String "Hello, World!"

0

PowerShell, 55 바이트

(New-Object -c wscript.shell).sendkeys('Hello, World!')

0

InstantEXE 3.0, 20 바이트

Keys "Hello, World!"

0

파이썬 3,67 바이트

from pynput.keyboard import*
s=Controller()
s.type("Hello, World!")

tio에 pynput이라는 모듈이 없습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.