小编And*_*ley的帖子

C#从服务运行Windows窗体应用程序(和在Vista中)

我正在用C#编写一个需要作为服务运行但也有用户交互的应用程序.我知道服务没有UI等,所以我把我的程序分成了一个windows表单应用程序和一个可以相互通信的服务.

我遇到的问题是我需要服务以确保Windows窗体应用程序始终运行并重新启动它,如果不是.我能够检测它是否正在运行,并在Windows 2000/XP上使用以下代码重新启动它:

System.Diagnostics.Process.Start("ExePath");
Run Code Online (Sandbox Code Playgroud)

但是在Vista上,它将新进程作为本地/系统进程运行,对用户来说是不可见的.有人解决这个问题吗?有没有办法检测当前登录的用户并以该用户身份运行新进程?此时我不需要考虑快速用户切换.什么 - 任何东西 - 基本就足够了.

如果您对此主题有任何帮助或提示,我将不胜感激.

我需要澄清一下,我在安装服务时设置了"允许服务与桌面交互"选项.这是它允许它在2000/XP上工作的原因.但是,Vista仍然存在上述问题.

c# windows-services windows-vista winforms

7
推荐指数
1
解决办法
6万
查看次数

iphone - 以编程方式设置(系统范围)代理设置?

我是iPhone开发新手,所以如果这是一个愚蠢的问题,我很抱歉.我正在开发一个应用程序,其目的是通过我公司的代理路由所有iPhone活动.

有没有办法在iPhone中以编程方式设置系统范围的代理设置(这也将对3G连接生效)?

我知道有一种方法可以为每个wifi连接手动设置代理设置.检测新网络并在其上设置代理是可以接受的.但是,我还需要能够在3G连接上设置代理.

另外,奖励:有没有办法以编程方式更改"限制"设置?

如果有人有任何提示或可以指出我正确的方向,我将不胜感激.谢谢.

编辑:请理解这是出于合法目的.Apple必须批准添加应用程序商店,因此我不想尝试传播病毒.请,只有建设性的答案.

iphone proxy cocoa cocoa-touch

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

C#HttpWebReqest - 转发POST内容?

当我过去将我的C#应用​​程序中的内容上传到网站时,我使用了这样的POST请求:

    HttpWebRequest wr = (HttpWebRequest)WebRequest.Create("http://" + this.server + "/log.php");
    wr.Method = "POST";
    wr.ContentType = "application/x-www-form-urlencoded";
    string paramString = "v=" + this.version + "&m=" + this.message;
    wr.ContentLength = paramString.Length;
    StreamWriter stOut = new StreamWriter(wr.GetRequestStream(), System.Text.Encoding.ASCII);
    stOut.Write(paramString);
    stOut.Close();
Run Code Online (Sandbox Code Playgroud)

我的问题是,现在我的情况this.message很可能包含新行,标签和特殊字符,包括"&"和"=".我是否需要逃避这些内容.如果是这样,怎么样?

c# escaping httpwebrequest

6
推荐指数
1
解决办法
4777
查看次数

强制Windows显示系统托盘图标

这是一个非常愚蠢的问题,但是这里有:

有没有办法(在.net中)强制Windows显示您的系统托盘图标而不是隐藏它?我不想一直这样做,但至少我的应用程序第一次运行时,我希望它在系统托盘中可见.

.net windows system-tray .net-2.0

6
推荐指数
2
解决办法
7529
查看次数

Javascript:检测/防止外部脚本

是否可以检测可能通过浏览器加载项,代理,xss等加载到页面中的外部脚本?

说我有这个网页:

<html>
    <head>
        <title>Hello world!</title>
        <script src="http://mydomain.com/script.js"></script>
    </head>
    <body>
        Hello world!
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

是否可以在我的script.js文件中包含一些脚本,以检测页面上的其他脚本元素何时不来源http://mydomain.com?

我想要的东西可以检测源中包含的其他脚本(即onload事件触发时它们存在)和页面加载后的任何时间添加的脚本.

如果我能检测到这些脚本,我还能以某种方式阻止它们吗?

如果我知道还有其他的事情发生,这对于调试用户报告的javascript/ui问题很有用.

我使用jQuery,所以jQuery的答案对我有用.我只是不想限制jQuery的答案.


编辑

我的解决方案如下.但是,它有两个(潜在的)问题:

  1. 这取决于jQuery.
  2. 它不会检测通过CSS @import规则(或任何带有url()值的规则)加载的外部资源.

如果有人想提交一个解决其中一个或两个问题的答案,我会赞成.

如果你两个都解决了,我会接受你的回答.

html javascript xss load external

6
推荐指数
1
解决办法
4918
查看次数

jQuery-UI Datepicker:可拖动?

(希望)简单的问题:

是否有可能使jQuery UI Datepicker可拖动?如果是这样,有人可以给我一些示例代码吗?

jquery jquery-ui datepicker draggable

5
推荐指数
2
解决办法
4481
查看次数

确保一行存在于纯文本文件中的最有效方法

我正在使用C#(.Net 2.0),我有一个相当大的文本文件(平均约1600行),我需要定期检查以确保存在某一行文本.

这样做最有效的方法是什么?我是否真的每次都要将整个文件加载到内存中?

有没有我可以使用的某种文件内容搜索API?

感谢您提供任何帮助/建议.

.net c# performance file-io

5
推荐指数
1
解决办法
767
查看次数

以编程方式设置浏览器cookie(Firefox)

我从这个问题中知道Firefox 3.0及以上版本将其cookie存储在SQLite数据库中.我的问题是:您是否可以通过添加cookie的方式从其他桌面程序访问此数据库?

我意识到这有安全隐患.但是,我根本不想阅读它们.我希望能够在可能的情况下设置一个cookie.我甚至不想覆盖cookie.如果不存在,我只想添加它.这是一个我正在努力工作的个人项目.

这个问题主要是语言不可知的.我更喜欢C#中的解决方案,但任何语言的概念证明都足够了.

额外的功劳:在Internet Explorer中设置相同的cookie也很酷

c# sqlite cookies firefox internet-explorer

5
推荐指数
1
解决办法
6727
查看次数

PHP和FFMPEG - 执行智能视频转换

我有一项奇怪的艰巨任务.我觉得这很容易,但我所有的努力都没有结果.

我正在将上传到php脚本的视频从各种格式(.avi,.mpg,.wmv,.mov等)转换为单个.flv格式.转换效果很好,但我遇到的问题是视频的分辨率.

这是我正在运行的命令(使用PHP vars):

ffmpeg -i $original -ab 96k -b 700k -ar 44100 -s 640x480 -acodec mp3 $converted

$ original和$ converted都包含这些文件的完整路径.我的问题是,即使源较小,它总是转换为640x480(就像我告诉它).显然,这是在下载视频时浪费磁盘空间和带宽.此外,这并不考虑输入视频是否为4:3以外的任何宽高比,如果我上传16:9视频,则会导致"压缩"转换.

我需要做三件事:

  1. 确定原始视频的宽高比.
  2. 如果不是4:3,则用黑色条填充顶部和底部.
  3. 如果原件的尺寸较大或与原件的宽度/高度相关的4:3宽高比(以较接近640x480为准),则转换为640x480.

我已经播放ffmpeg -i了一些视频,但是我没有看到一致的格式或位置来查找原始分辨率.一旦我能够弄清楚,我知道我可以"做数学"来找出正确的大小并指定填充以使用-padttop,-padbottom等来修复宽高比.

php ffmpeg video-processing

4
推荐指数
1
解决办法
8448
查看次数

由EventHandler创建的C#Windows窗体立即消失

我不知道为什么会这样,但是当我在EventHandler中创建一个新表单时,它会在方法完成后立即消失.

这是我的代码.为了清晰起见,我编辑了它,但从逻辑上讲,它完全相同.

static void Main()
{
    myEventHandler = new EventHandler(launchForm);
    // Code that creates a thread which calls
    // someThreadedFunction() when finished.
}

private void someThreadedFunction()
{
    //Do stuff

    //Launch eventhandler
    EventHandler handler = myEventHandler;
    if (handler != null)
    {
        handler(null, null);
        myEventHandler = null;
    }
}

private void launchForm(object sender, EventArgs e)
{
    mf = new myForm();
    mf.Show();
    MessageBox.Show("Do you see the form?");
}

private myForm mf;
private EventHandler myEventHandler;
Run Code Online (Sandbox Code Playgroud)

只要MessageBox"你看到表单了吗?"就会显示新表单.在那儿.一旦我单击确定,表单就会消失.

我错过了什么?我认为通过将新表单分配给类变量,它将在方法完成后保持活动状态.显然,事实并非如此.

c# multithreading event-handling .net-2.0 winforms

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

为什么这个PHP preg_replace()不起作用?

我有一些我需要解决的错误的MySQL条目.我试图在PHP中这样做.

我得到了什么:

a whole bunch of text with no numbers Entry #:2439. a whole bunch of text Click here to blah blah blah

我想要的:

a whole bunch of text with no numbers Entry #:2439 . a whole bunch of text <BR><A href="somepage.php?entry_no=2439">Click here to blah blah blah</A>

我的PHP代码:

$fixed = preg_replace('/(.*)(\d*)(.*)(Click here.*)/i',"$1$2$3<BR><A href=\"somepage.php?entry_no=$2\">$4</A>",$originalData);
Run Code Online (Sandbox Code Playgroud)

出于某种原因,这是我得到的:

a whole bunch of text with no numbers Entry #:2439. a whole bunch of text <BR><A …

php regex mysql

0
推荐指数
1
解决办法
479
查看次数