小编leo*_*ios的帖子

使用参数调用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>

此外,我尝试使用JavaScript,它从HTML页面工作正常,但不是从Outlook中的电子邮件.

我想也许这种方法存在安全威胁,因此它是不可能的,但如果我可以通过电子邮件成功运行exe,为什么我不能运行带参数的exe?它没有意义.

谢谢您的帮助.

狮子座

html email exe href

14
推荐指数
2
解决办法
1万
查看次数

在开始和结束时调用方法 - 在C#中有更好的方法吗?

我有几种方法具有folling结构:

    public void doWhatever()
    {
     methodToPrepareEnvironment();
     // do something
     methodToResumeEnvironment();
    }
Run Code Online (Sandbox Code Playgroud)

我所有的"doWhatever"类型方法都调用这些准备/恢复方法,所有这些方法都只调用了1个prepare和1个resume方法.是否有更好的方法来实现这一点,而无需在所有我的doWhatever方法的开头和结尾调用准备和恢复方法?我觉得我错过了一些非常基本的东西.请注意,doWhatever方法无法组合,它们每个都需要独立,每个方法都需要准备环境,完成一些任务然后恢复环境.

谢谢.

c# coding-style

2
推荐指数
1
解决办法
87
查看次数

更改className问题(javascript和IE)

以下javascript代码无法正常运行。(我使用的是IE9,不能使用其他浏览器或JQuery):

var elems = document.getElementsByClassName("EditableTextBox");
for (var i = 0; i < elems.length; i++) {                
    elems[i].className = "Zero";
}
Run Code Online (Sandbox Code Playgroud)

发生的情况是,只有某些具有className“ EditableTextBox”的元素被更改为className“ 0”,许多元素仍保留为className“ EditableTextBox”。没有其他代码可能会导致此问题。此代码是刷新屏幕之前我执行的代码的最后一部分。

我认为问题出在.getElementsByClassName找不到所有正确的元素,但是:

var elems = document.getElementsByClassName("EditableTextBox");
for (var i = 0; i < elems.length; i++) {                
    elems[i].value = "test";
}
Run Code Online (Sandbox Code Playgroud)

这段代码确实将所有正确元素的值更改为“ test”,因此.getElementsByClassName确实可以找到所有元素。

我不明白是什么引起了这里的问题。下面是我的解决方法,但是在这里有更多经验的人可以解释为什么第一段代码不起作用吗?谢谢。

如果有人感兴趣,我的解决方法:

var elems = document.getElementsByTagName("input");
for (var i = 0; i < elems.length; i++) {
    if (elems[i].className == "EditableTextBox")
       elems[i].className = "Zero";
Run Code Online (Sandbox Code Playgroud)

谢谢。

javascript internet-explorer classname

2
推荐指数
1
解决办法
3004
查看次数

标签 统计

c# ×1

classname ×1

coding-style ×1

email ×1

exe ×1

href ×1

html ×1

internet-explorer ×1

javascript ×1