小编Ais*_*iva的帖子

将菜单项添加到Windows资源管理器右键单击C#中的上下文菜单

我正在开发中,我想申请加入时,我们右键单击Windows资源管理器的一个或多个文件或文件夹出现一个菜单项上下文菜单.通过在上下文菜单中选择多个文件或文件夹,然后点击我的项目,应该所有文件和文件夹的路径发送到我的应用程序可执行文件进行进一步的处理.如果可能的话,请在C#.net中为我提供一些代码.我在互联网上搜索它是不可能的,但我认为应该有一些方法,因为.NET高度依赖于Windows Shell.如果不可能,请提供VB,VB.net,C,C++或其他任何语言的代码.

c# windows explorer contextmenu

25
推荐指数
0
解决办法
4万
查看次数

在异常时显示自定义错误消息:从客户端检测到潜在危险的Request.Form值

我在我的Web应用程序中使用ASP.NET的登录控件.我想在标签上显示一个有趣的错误类型,System.Web.HttpRequestValidationException: A potentially dangerous Request.Form value was detected from the client 当用户尝试通过在Login控件的用户名文本字段中输入它们来尝试进行SQL注入攻击或某些HTML或SCRIPT操作时,就会出现这种错误.我尝试了很多东西,例如在try catch块中包含身份验证登录,并捕获 System.Web.HttpRequestValidationException异常也为我创建的事件做同样的操作,就像用户名TextBox的onTextChange一样.但所有这些尝试都失败了.请告诉我如何检查此异常并向攻击者显示一个有趣的消息?

c# asp.net validation sql-injection login-control

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

是COUNT(*)索引?

我想知道只是为了好奇,Select Count(*) from SomeTableName它还遍历数据库的所有行Select * from SomeTableName

或者,数据库的元数据中是否有任何其他计数字段,每次添加或删除行时都会自动更新?并且该字段由前一个查询访问.

另外我想知道哪两个查询更快,多少?

sql database sql-server select

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

如何在我的应用程序中仅传输来自youtube视频的音频数据?

我想开发一个应用程序,它将显示来自YouTube的视频列表,当用户点击Youtube视频时,我的应用程序将开始播放其音频.我遇到了首先下载YouTube视频并提取音频的解决方案,但为了加快这个过程,我想直接将音频位传输到应用程序的音频播放器而不是视频.换句话说,我想在我的应用程序中流式传输YouTube音频而不是视频.

youtube video youtube-api video-streaming html5-audio

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

JQuery History.js插件不会替换HTML4和HTML5浏览器中的一个页面的状态

我正在使用JQuery History.js插件在HTML5浏览器中启用History API并在HTML4浏览器中进行模拟.我正在使用Ajaxify脚本来实现这个插件.我改变了这个脚本,如图所示:

var History, $, document;
function PrepareVariables() {
    History = window.History,
    $ = window.jQuery,
    document = window.document;
}

function InitHistory() {
    // Prepare Variables
    var
    /* Application Specific Variables */
    //contentSelector = '#content,article:first,.article:first,.post:first',
    contentSelector = '#navcontent';
    $content = $(contentSelector), //.filter(':first'),
    //contentNode = $content.get(0),
    $menu = $('#menu,#nav,nav:first,.nav:first').filter(':first'),
    activeClass = 'active selected current youarehere',
    activeSelector = '.active,.selected,.current,.youarehere',
    menuChildrenSelector = '> li,> ul > li',
    completedEventName = 'statechangecomplete',
    /* Application Generic Variables */
    $window = $(window),
    $body …
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery history.js ajaxify

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

屏幕截图中未捕获对话框和菜单更改

我正在构建一个WinForms应用程序,通过每隔500毫秒获取一次屏幕截图来记录外部进程的步骤.我使用以下代码:

Bitmap bmp = new Bitmap(width, height,PixelFormat.Format32bppArgb);
Graphics g = Graphics.FromImage(bmp);
g.CopyFromScreen(rect.left,
                 rect.top,
                 0,
                 0,
                 new Size(width, height),
                 CopyPixelOperation.SourceCopy);
Run Code Online (Sandbox Code Playgroud)

代码工作正常但唯一的问题是当我从外部进程的窗口打开一个对话框时(例如,Save As...在记事本中打开对话框),屏幕截图冻结到原始窗口而不是显示对话框.

我的理论是,由于我使用以下代码来检测应用程序是否失去焦点,然后只需恢复到上次保存的屏幕截图:

if (GetForegroundWindow() != proc.MainWindowHandle) //proc is just a process from system process list by Process.GetProcessesByName()
{
   return LastScreenShot;
}
[DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true)]
private static extern IntPtr GetForegroundWindow();
Run Code Online (Sandbox Code Playgroud)

但是,此代码对于向用户仅显示正在记录的应用程序而不是在记录区域内或记录区域内的桌面部分中拖动的任何其他应用程序是必要的.此外,当我单击菜单时,它有时会显示菜单在褪色位置冻结,有时根本不显示或显示但在屏幕截图中看不到导航突出显示.

那么有什么办法可以解决这个问题吗?

类似的问题在这里被问到 屏幕捕获没有捕获我的应用程序中的对话框, 但它没有解决我的问题,因为答案使用相同的代码,我的应用程序没有采取整个桌面的截图.

.net c# graphics winforms

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

锚点标记上的JQuery click()不是从WebBrowser控件内的注入脚本触发

我正在使用WinForms WebBrowser控件开发Web bot.一切正常,除了click()以下代码中的第二个调用:

function SaveRecordClick() {
    try {
        var menuButton = $('#s_at_m_4');
        menuButton.click();             //<-- This is working
        var x = $('#s_at_m_4-menu li')[5];
        var saveLink = $(x).find('a')[0];
        if (saveLink != null){
            saveLink.click();           //<-- This is not working

            return "1";
        }
    }
    catch (err) {
        alert(err.message);
    }
    return "0";
}
Run Code Online (Sandbox Code Playgroud)

saveLink不是空的.我知道这是因为我alert()在条件中打了一个电话.

使用建议的解决方案更新代

function SaveRecordClick() {
    try {
        var menuButton = $('#s_at_m_4');
        menuButton.click();
        var x = $('#s_at_m_4-menu li').eq(5);
        var saveLink = x.find('a').eq(0);
        if (saveLink != null) {
            alert(saveLink.html()); …
Run Code Online (Sandbox Code Playgroud)

.net javascript c# jquery winforms

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

如何使用javascript在一些定义的时间延迟后动态更改<p>标签数据?

我想<p>在定义的时间延迟后使用javascript 仅更改标签内容.例如a

<p>messages</p>
Run Code Online (Sandbox Code Playgroud)

应该改变取决于没有.新消息来了.如

<p>messages(1)</p>
<p>messages(2)</p>
Run Code Online (Sandbox Code Playgroud)

javascript tags time delay paragraph

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

将数据发送到使用C#接受JSON数据的通用处理程序

我有一种情况,我正在访问ASP.NET Generic Handler以使用JQuery加载数据.但是,由于从JavaScript加载的数据对搜索引擎抓取工具不可见,我决定从C#加载数据,然后将其缓存为JQuery.我的处理程序包含很多逻辑,我不想再在后面的代码上应用.这是我的Handler代码:

public void ProcessRequest(HttpContext context)
        {
            JavaScriptSerializer jsonSerializer = new JavaScriptSerializer();
            string jsonString = string.Empty;

            context.Request.InputStream.Position = 0;
            using (var inputStream = new System.IO.StreamReader(context.Request.InputStream))
            {
                jsonString = inputStream.ReadToEnd();
            }

            ContentType contentType = jsonSerializer.Deserialize<ContentType>(jsonString);
            context.Response.ContentType = "text/plain";
            switch (contentType.typeOfContent)
            {
                case 1: context.Response.Write(getUserControlMarkup("SideContent", context, contentType.UCArgs));
                    break;
            }
        }
Run Code Online (Sandbox Code Playgroud)

我可以getUserControlMarkup()从C#调用该函数,但我必须在调用它时应用一些基于URL的条件.该contentType.typeOfContent实际上是基于URL的参数.

如果可能将JSON数据发送到此处理程序,请告诉我如何执行此操作.我试图像这样访问处理程序:

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Common.host + "Handlers/SideContentLoader.ashx?typeOfContent=1&UCArgs=cdata");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Run Code Online (Sandbox Code Playgroud)

但它NullReferenceException在行中给出了Handler代码: ContentType contentType = jsonSerializer.Deserialize<ContentType>(jsonString);

javascript c# asp.net jquery json

8
推荐指数
2
解决办法
4541
查看次数

如何使WCF服务服务器 - 客户端时差独立?

从测试客户端访问WCF服务时,我遇到以下异常:

System.ServiceModel.Security.MessageSecurityException: An unsecured or incorrectly secured fault was received from the other party. See the inner FaultException for the fault code and detail. ---> System.ServiceModel.FaultException: An error occurred when verifying security for the message.
   --- End of inner exception stack trace ---
Run Code Online (Sandbox Code Playgroud)

我在网上搜索了这个问题的根本原因.我发现这主要是由于客户端 - 服务器时间差异造成的.但我无法找到正确的解决方案.以下是我的服务器端配置:

 <system.serviceModel>
    <bindings>
      <wsHttpBinding>
        <binding name="RequestUserName">
            <security mode="Message">
              <message clientCredentialType="Windows" negotiateServiceCredential="true" establishSecurityContext="true" />

            </security>
        </binding>
      </wsHttpBinding>

    </bindings>
    <services>
      <service name="WCFService.Service1" behaviorConfiguration="WCFService.Service1Behavior">
        <!-- Service Endpoints -->
        <endpoint address="http://subdomain.domain.com/service1.svc" binding="wsHttpBinding" contract="WCFService.IService1" bindingName="RequestUserName">


        </endpoint>
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" …
Run Code Online (Sandbox Code Playgroud)

.net c# time wcf web-services

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