小编Art*_*t W的帖子

WebBrowser控件在一个新线程中

我有一个列表Uri,我想要"点击"为了达到这个目的,我试图为每个Uri创建一个新的Web浏览器控件.我为每个Uri创建一个新线程.我遇到的问题是文档在文档之前结束是完全加载的,所以我永远不会使用DocumentComplete事件.我怎么能克服这个?

var item = new ParameterizedThreadStart(ClicIt.Click); 
var thread = new Thread(item) {Name = "ClickThread"}; 
thread.Start(uriItem);

public static void Click(object o)
{
    var url = ((UriItem)o);
    Console.WriteLine(@"Clicking: " + url.Link);
    var clicker = new WebBrowser { ScriptErrorsSuppressed = true };
    clicker.DocumentCompleted += BrowseComplete;
    if (String.IsNullOrEmpty(url.Link)) return;
    if (url.Link.Equals("about:blank")) return;
    if (!url.Link.StartsWith("http://") && !url.Link.StartsWith("https://"))
        url.Link = "http://" + url.Link;
    clicker.Navigate(url.Link);
}
Run Code Online (Sandbox Code Playgroud)

c# browser multithreading

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

C#异步方法仍然挂起UI

我有这两种方法,我想运行异步以保持UI响应.但是,它仍然悬挂着UI.有什么建议?

async void DoScrape()
    {
        var feed = new Feed();

        var results = await feed.GetList();
        foreach (var itemObject in results)
        {
            var item = new ListViewItem(itemObject.Title);
            item.SubItems.Add(itemObject.Link);
            item.SubItems.Add(itemObject.Description);
            LstResults.Items.Add(item);
        }
    }


    public class Feed
    {
        async public Task<List<ItemObject>> GetList()
        {
            var client = new WebClient();
            string content = await client.DownloadStringTaskAsync(new Uri("anyUrl"));
            var lstItemObjects = new List<ItemObject>();
            var feed = new XmlDocument();
            feed.LoadXml(content);
            var nodes = feed.GetElementsByTagName("item");

            foreach (XmlNode node in nodes)
            {
                var tmpItemObject = new ItemObject();
                var title = …
Run Code Online (Sandbox Code Playgroud)

c# asynchronous webclient c#-5.0 async-ctp

9
推荐指数
2
解决办法
4021
查看次数

C连接int

我将是第一个承认,我是100%的C#家伙而C不适合我.但是我有问题.我需要连接7与HashUrl(HashInt),然后与HashInt连接任何帮助将不胜感激.

int main(int argc)
{
unsigned int HashInt;
HashInt = HashURL(argc);
// I need to return 7 + CheckHash(HashInt) + HashInt but not ADDING, but concanenating them
return HOWEVERTOGETTHESTRING;
}
Run Code Online (Sandbox Code Playgroud)

我应该已经指定了这个用法.它实际上将用于学生VB6项目.

Private Declare Function main Lib "checksum.dll" (ByVal pStr As String) As Long

Private Sub Command1_Click()
MsgBox main("http://hello.com")
End Sub
Run Code Online (Sandbox Code Playgroud)

C库的完整源代码是

#include <stdio.h>
#include <string.h>
#include <windows.h>
#include <string.h>
#include <winreg.h>
#include <stdlib.h>

int StrToInt(char *pStr, int Init, int Factor)
{
while (*pStr) {
Init *= Factor; 
Init += *pStr++; …
Run Code Online (Sandbox Code Playgroud)

c

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

C#.net For()Step?

我有一个函数,它处理6100个列表项的列表.当列表只有300个项目时,用于工作的代码.但是立即与6100崩溃.有没有办法我可以循环浏览这些6100个项目,一次说30个并且每个项目执行一个新线程?

    for (var i = 0; i < ListProxies.Items.Count; i++)
    {
        var s = ListProxies.Items[i] as string;
        var thread = new ParameterizedThreadStart(ProxyTest.IsAlive);
        var doIt = new Thread(thread) { Name = "CheckProxy# " + i };
        doIt.Start(s);
    }
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激.

.net c# multithreading loops for-loop

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

Facebook新闻Feed API

我一直在寻找.我看过100个没有真正帮助的网站.

我希望能够在单独的页面上显示用户当前的新闻Feed.

我已经读过""会做的伎俩,问题是我找不到JS SDK下载或如何使用它.

谁能帮我?

php facebook

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

C#获取进程API用法

有没有一种方法来检测调用哪些API?假设我想要检测任何使用ReadProcessMemory API的应用程序.这在C#中有多可行?

c#

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

C#保存文件的权限

我有一个我写过的C#应用​​程序.除了一种方法,一切都100%有效.如果启用了UAC,我无法保存文件,甚至不能保存Settings.config.我尝试使用清单文件,没有运气.我究竟做错了什么?

public static void UpdateVersionText()
 {
     var wc = new WebClient();
     var utf8 = new UTF8Encoding();
     var list = utf8.GetString(wc.DownloadData("https://www.agentsarea.co.uk/photolibrary/photos/data/version.txt"));
     wc.Dispose();
     Properties.Settings.Default.version = list.Trim();
     Properties.Settings.Default.Save();
 }
Run Code Online (Sandbox Code Playgroud)

c#

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

控件和线程

我有一个创建新线程的按钮.该线程包含以下内容.

foreach (DataRow r in results.Rows)
            {
                var item = new ResultItem(this)
                               {
                                   Image = r[1].ToString(),
                                   Video = r[2].ToString(),
                                   Title = r[3].ToString().Trim(),
                                   Duration = r[4].ToString().Trim()
                               };


                SearchFlow.Controls.Add(item);
            }
Run Code Online (Sandbox Code Playgroud)

我收到此错误:在一个线程上创建的控件不能作为另一个线程上的控件的父级.ResItem是自定义用户控件,它是项目的一部分,而不是第三方控件.有没有解决的办法?如何将此控件添加到新线程中的流表?

c# multithreading

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