CMD 프롬프트 유형 창 (GUI 없음)에서 실행중인 C++ 프로그램의 웹 사이트 링크를 추가 할 수 있는지 궁금합니다.(C++) GUI없이 C++ 프로그램에 직접 링크를 추가 할 수 있습니까?
가능한 경우 몇 가지 예를 들어주세요.
감사합니다.
CMD 프롬프트 유형 창 (GUI 없음)에서 실행중인 C++ 프로그램의 웹 사이트 링크를 추가 할 수 있는지 궁금합니다.(C++) GUI없이 C++ 프로그램에 직접 링크를 추가 할 수 있습니까?
가능한 경우 몇 가지 예를 들어주세요.
감사합니다.
사용자가 클릭 할 수있는 명령 프롬프트에서 출력 텍스트를 의미합니까? 아니, 터미널이 그것을 지원하지 않는 한. 리눅스 터미널은 일반적으로 URL 패턴과 일치하는 텍스트를 자동 링크하므로 사용자는 단지 printf("http://stackoverflow.com/\n");
일 수 있으며 클릭 할 수 있지만 사용자의 프로그램이 아닌 터미널에 달려 있습니다.
'직접 연결'이라고 쓰면 뜻이 명확하지 않습니다. 클릭 가능한 텍스트 또는 URL을 여는 수단. 여하튼, 명령 행 프로그램은 보통 명령 행 매개 변수에 응답합니다. 프로그램은 명령 행 플래그에 대한 응답으로 기본 브라우저에서 URL을 열 수 있습니다. Windows에서 ShellExecute으로 전화를 걸 수 있습니다. 다른 시스템에서는 system
이 적합 할 수 있습니다.
에 따라 다릅니다. 예를 들어, Windows에서는 다소 사소한 일이지만 완전히 가능합니다. ReadConsoleInput
을 통해 마우스 이벤트를 수신 할 수 있으므로 이론적으로 입력 이벤트를 읽는 것이 매우 간단합니다. 링크로 정의한 영역을 마우스로 클릭하면 해당 링크가 사용자에게 적합하게 표시됩니다 - 웹 사이트를 텍스트 모드로 표시하려는 경우 가능합니다 (단, 다시 ). 사용자의 일반 웹 브라우저를 시작하려면 훨씬 간단합니다 (일반적으로 URL은 ShellExecute
입니다).
실제로 세부 사항은 다소 추해집니다. 마우스 입력이 작동하려면 마우스 입력을 활성화해야합니다. ReadConsoleInput
은 INPUT_RECORD
을 제공합니다.이 입력란은 다양한 입력 레코드 유형의 합집합이며, 그 중 하나는 마우스 입력 레코드입니다. 마우스 클릭에 반응하게 될 때까지 코드는 상당히 깊게 중첩됩니다. 그것도 어느 방법으로도 관리 할 수없는 것은 아니지만 Windows 콘솔 프로그래밍에 대한 상당한 경험이없는 한 시간이나 시간이 아닌 작업을하기 전에 하루 (어쩌면 조금 더)가 걸리기 쉽습니다. 두 사람은 처음에는 짐작할 것입니다.
물론 이것은 Windows 용입니다. 코드를 다른 시스템으로 이식하려는 경우 완전한 재 작성을 검토하는 것이 좋습니다. GUI의 경우 많은 플랫폼 간 라이브러리가 있지만 텍스트 모드 마우스 조작은 거의 지원되지 않습니다.
GPM이 리눅스와 동일하지 않습니까? http://freshmeat.net/projects/gpm/ –
유닉스와 맥 시스템에서는'system()'또는'popen()'을 호출 할 수있다. (또는 미쳐서 완벽 해지기를 원한다면'fork()'와'exec()')를 사용하면 URL을 명령 행 매개 변수로 사용하여 브라우저를 실행할 수 있습니다. Mac에서는 명령'open'이 URL 인자가 주어지면 사용자의 브라우저를 시작합니다. 그래서'std :: string cmd ("open '"); cmd + = url; cmd + = " '"; 시스템 (cmd.c_str()); '이 트릭을 수행 할 수 있습니다. Linux에서 사용자가 선호하는 브라우저를 시작하는 방법을 모르겠습니다. Gnome과 KDE는 다를 수 있습니다. 추신 * URL을 제대로 벗어 났는지 확인하십시오. * –
실례합니다. 어쨌든 고마워요. – TheEliteOne