2009-12-29 2 views
2

나는 C# winforms 응용 프로그램을 함께 사용하고 있으며 다른 사용자가 내 C# 응용 프로그램을 자동으로 최대화하고 일부 데이터를 전달하는 웹 페이지 링크를 클릭 할 수있는 기능을 제공하는 것이 좋습니다. 약간의 웹 페이지에 iTunes 링크가 자동으로 열리 며, iTunes에서 자동으로 노래 세부 정보가 검색됩니다.웹 페이지에서 Windows C# 응용 프로그램에 값을 시작/전달할 수 있습니까? (iTunes에 대한 노래 링크가있는 것처럼 보일 수 있습니다)?

Q1 - HTML/자바 스크립트에서는 어떻게하나요?

Q2 -이 방법은 특정 브라우저에서만 작동합니까?

Q3 -이 기능은 Windows에서만 작동합니까? 당신은 당신의 C# 응용 프로그램에 새 파일 형식을 연결해야

감사

답변

2

(난 그냥 창문 자신을 필요). 웹 페이지는 다운로드하여 그러한 파일을 "시작"할 수 있습니다.

필자는 다운로드 할 파일에 매개 변수를 작성해야 매개 변수를 전달해야한다고 생각합니다.


그것은있을 것이라는 사실은 "실행 또는 저장"프롬프트하지만, 그 옆에서, 나는 이것이 가장 간단한 방법, 및 유지 보수가 가장 쉬운 것 하나가 될 것이라고 생각합니다.

0

첫 번째 반응은 자바 스크립트와 C# 응용 프로그램 사이의 중개자 역할을하는 일종의 브라우저 플러그인을 먼저 만들어야한다는 것입니다. 이는 웹 사이트 자바 스크립트 및 기타 코드가 제한된 보안 컨텍스트에서 실행되고 다른 응용 프로그램, 명명 된 파이프, TCP 포트 등과 같이 권한이있는 리소스에 액세스 할 수 없기 때문입니다.

+0

당신은 폭력으로부터의 반응을 보았습니까? 잠재적으로 더 간단 할까? – Greg

+0

예, 일반적으로 브라우저에 독립적입니다. –

2

URL 프로토콜 처리기 (see)를 등록 할 수 있습니다 당신은 고유 한 URL 프로토콜을 지정하고 완전한 URL을 전달하는 새로운 응용 프로그램을 생성 할 웹 페이지에서 클릭 가능한 링크를 만들 수 있습니다. 이 메커니즘이 착취에 노출 될 수있는 여러 번 잘못 구현 되었기 때문에주의해야합니다.

또한 이상한 URL 중 하나를 사용하려고하면 브라우저에서 경고 메시지를 표시합니다. 그리고 이것은 Windows에서만 작동합니다 (그러나 다른 OS에서는 대안이 있습니다).

+0

감사합니다. 그래서 설치의 일부로 이것을 수행하기 위해 C# winforms 설치를 빌드하는 것이 좋습니다. (즉, 프로토콜 핸들러 등록) – Greg

+0

이 접근 방식은 실제로 winforms 앱이 아직 열리지 않은 경우에만 작동합니까? 즉, 이미 열렸다면? – Greg

+0

새 인스턴스를 시작하면 실제로 원본이 활성화되므로 단일 인스턴스 응용 프로그램 지원의 일부 양식을 구현해야합니다. 그물에는 많은 예제가 있으며, 자주 묻습니다. – tyranid

관련 문제