111,129
社区成员
发帖
与我相关
我的任务
分享System.Diagnostics.Process.Start(path, x);MemoryStream vMemoryStream = Clipboard.GetData("Html Format") as MemoryStream;
vMemoryStream.Position = 0;
byte[] vBytes = new byte[vMemoryStream.Length];
vMemoryStream.Read(vBytes, 0, (int)vMemoryStream.Length);
textBox4.Text = Encoding.UTF8.GetString(vBytes);
clipboardNull = textBox4.Text == "";
粘贴到软件里
通过一些算法提取需要的url和标题保存到
IDictionary<string(url标题), string(url)>
然后把这个url再保存到数组ArrayURL里
然后点击开始按钮后
timer.Enabled=true;
timer时间为1000,代码如下
Process[] processes = Process.GetProcessesByName("PageSub(b软件)");
bool bool_= true;
foreach (Process process in processes)
{
if (process.Id > -1)
{
bool_= false;
break;
}
}
if (bool_)
{
StartNew();
}
StartNew();代码
string path = @"PageSub.exe";
if(isN(id,ArrayURL)){ timer.Enabled=false; MessageBox.Show("操作完成"); return;}//检测是否完成
string x =ArrayURL[id] + "#url#" + ID + "#ID #" +JP+ "#JP#";
foreach (var item in dataAll.ds)//dataAll.ds是IDictionary中经过处理的url
{
if (item.Trim().ToLower().Equals(textBox1.Text.Trim().ToLower()))
{
x += "true";
break;
}
}
System.Diagnostics.Process.Start(path, x);
id++;
这大概就是a(主)软件
b软件代码:
检测b软件是否已经启动
bool blnIsRunning;
Mutex mutexApp = new Mutex(false, Assembly.GetExecutingAssembly().FullName, out blnIsRunning);
if (!blnIsRunning)
{
Application.Exit();
}
这是b软件中唯一一个timer,用来检测主软件是否已经关闭
Process[] processes = Process.GetProcessesByName("IndexSub");
bool bool_ = true;
foreach (Process process in processes)
{
if (process.Id > -1)
{
bool_ = false;
break;
}
}
if (bool_)
{
timer.Enabled=false;
MessageBox.Show("主程序进程丢失");
Application.Exit();
}
b软件接收主软件参数static void Main(string[] args)
并进行截取操作
然后b软件下载url内容
string tmp = "";
try
{
WebClient MyWebClient = new WebClient();
MyWebClient.Credentials = CredentialCache.DefaultCredentials;
Byte[] pageData = MyWebClient.DownloadData(url);
tmp = Encoding.UTF8.GetString(pageData);
while (tmp.ToLower().IndexOf("DOCTYPE".ToLower()) == -1)
{
if(i==10){return "";}
try
{
Gzip gza = new Gzip();
tmp = gza.gz(pageData);
continue;
}
catch (Exception)
{
pageData = MyWebClient.DownloadData(url);
tmp = Encoding.UTF8.GetString(pageData);
//throw;
}
i++;
}
MyWebClient.Dispose();
}
catch
{
return tmp;
}
return tmp;
}
根据算法得到url内容的全部图片的url,并且下载到本地,然后拼接url内容的文字和图片路径,最后把处理过的内容插入到数据库。
并把图片上传到ftp,b软件退出
我只能这么猜测了
no code no debug
你要自己看系统自带的软件日志,是不是这个引起的