2012-04-03 3 views
9

-Hello, 도움이 필요하십니까?매개 변수가 포함 된 exe를 호출하는 HTML 하이퍼 링크

우리 회사는 현재 winform 앱을 사용하여 승인을 받았습니다. 앱은 전자 메일의 관련 정보를 읽고 해당 승인을받을 수 있도록 응용 프로그램을 시작하는 하이퍼 링크를 클릭하는 "승인자"에게 html 전자 메일을 보냅니다.

는 현재이는 이메일 HTML에서 다음을 포함하여 수행됩니다 :

<a href=file:///C:\Temp\test.exe>Click to Approve</a>

이 제대로 우리가 확인하는 보안 경고의 몇 후, 응용 프로그램을 시작합니다. Outlook 2010을 사용합니다.

이제이 프로세스를 개선하기 위해 승인자를 앱에 알리는 인수를 전달해야합니다. 그러나 Windows 단축키에서 인수를 전달하면 올바르게 작동합니다. 이메일에서 href 속성의 인수를 exe에 전달하는 방법을 찾을 수 없습니다. 나는 사방을 보았고 질문을 제외하고는 아무 것도 발견하지 못했습니다.

본인은 아무 소용이 다음과 같은 시도 :

<a href=file:///C:\Temp\test.exe approverID>Click to Approve</a> <a href=file:///C:\Temp\test.exe 'approverID'>Click to Approve</a> 또한 <a href="file:///C:\Temp\test.exe approverID">Click to Approve</a>

내가 아니라 Outlook의 이메일에서 HTML 페이지에서 잘 작동 자바 스크립트와 함께 그 일을 시도 .

아마이 접근법에 대한 보안상의 위협이 존재한다고 생각했기 때문에 불가능했습니다.하지만 전자 메일에서 성공적으로 exe를 실행할 수 있다면 매개 변수가있는 EXE를 실행할 수없는 이유는 무엇입니까? 그것은 의미가 없습니다.

도움 주셔서 감사합니다.

레오

답변

7

적당한 응답을받지 후 성공을하지 않고 내 연구를 계속 한 후, 나는 일시적으로 내가 무엇을 찾고 있어요 것은 불가능하다고 결론을 내릴 것입니다. 이것에 대한 이유가 보안에 문제가된다면, 나는 왜 매개 변수없이 exe를 실행하는 것이 허용되는지에 대해 완전히 의문을 가지기 때문에 매개 변수가있는 exe를 실행하는 것보다 해로울 수 없다고 생각합니다. 분명히 exe는 매개 변수가 유해하지 않아도됩니다. 누구든지이 일에 정성을 기울이면 신경이 쓰일 것입니다. 고마워요.

그럼에도 불구하고 필자는 내 문제에 대한 대안을 생각해 보았습니다. 문제는 href의 매개 변수를 나타내는 것만 큼 우아하지 않지만 내 목적을 충족시킵니다. 우리의 응용 프로그램은 네트워크 드라이브에서 실행되기 때문에 네트워크 드라이브에 사용자 별 cmd 파일을 생성하고 전자 메일의 하이퍼 링크는 exe 대신 이러한 cmd를 가리 키도록 변경했습니다. 이렇게하면 cmd 파일에 올바른 매개 변수가있는 exe에 대한 호출이 포함되며 cmd 파일은 매우 가볍고 빠르게 작성되므로이 작업은 정상입니다.

나는 이것을 "답변 됨"으로 끝내지 만 그렇지 않습니다.

시간을내어 읽어 주셔서 감사합니다.

레오

+0

노력과 정보를 주셔서 감사합니다 ... 2014, 그리고 여전히 우아한 해결책을 찾을 수 없습니다 :-) – Heliac

+0

일을 할 수 없다는 대답은 여전히 ​​대답입니다. 고마워. – eis

+0

이것에 대한 매우 평균적인 해결책은 다른 인수가있는 작은 단축키를 많이 만든 다음이 중 하나에 하이퍼 링크를 지정하는 것입니다. –

5

난 당신이 을 살펴 추천 "어떻게 프로토콜을 작성하고 매개 변수로에게 응용 프로그램을 할당".

예 : http://kb.mozillazine.org/Register_protocol

http://msdn.microsoft.com/en-us/library/aa767914.aspx

+0

David, 감사합니다. 귀하가 제공 한 정보를 검토 한 결과 전자 메일의 인수를 포함하는 실행 파일을 실행하는 것과 관련하여 어떻게 볼 수는 없습니다. 또한 승인자 시스템의 레지스트리를 수정하는 것으로 나타납니다. 그렇게 할수 없어. 응용 프로그램이 네트워크 드라이브에 있고 모든 aprovers가 해당 위치에서 실행하면 컴퓨터에 액세스 할 수 없습니다. – leoinlios

+0

아 좋아. 만약 당신이 프로토콜을 만들면'yourptotocol : // arg1/arg2/etc'와 같은 인수를'C : \\ PAth \\ blabla \\ bob '과 같이 될 등록자의 매개 변수에 전달할 수 있습니다. exe % 1 % 2 % 3' 등 –

+0

하지만 내 질문에 대한 HTML에서 href 특성 매개 변수를 전달했습니다. 내 응용 프로그램에 매개 변수를 전달하는 데 아무런 문제가 없습니다. 요청은 전자 메일의 링크에서 수행하는 것입니다. 감사. – leoinlios

3

저도 같은 문제가 있었 내가 찾은 하나 개의 대안은 명령 라인과 각각의 매개 변수, 사용자 더블 클릭을 포함하는 전자 메일에 첨부 된 .bat 파일을 만드는 것이 었습니다 첨부 파일은 파일을 열려고하고 .bat가 실행되는지 확인합니다. 그것은 링크보다 깨끗한 아니지만 그것은 경우에 따라 가능한 해결 방법입니다 같아요. 중요 : 내 OS는 Win7이고 전자 메일 클라이언트는 Lotus Notes입니다.이 대체 방법이 다른 메일 클라이언트/OS에서 작동하는지 확신 할 수 없습니다.

+0

이 질문은 오래된 것입니다.하지만 href 링크를 사용하여 내 앱을 연 방망이 파일을 호출했습니다. 내 매개 변수를 전달 ... 이것은 위대한 작품! 네트워크 공유도 사용했기 때문에 하나의 박쥐 파일은 OP 답변마다 여러 개의 링크를 갖는 것보다 낫습니다. – jharr100

관련 문제