我正试图找到一种方法来为谷歌浏览器创建一个快捷方式,它将在多个选项卡中打开多个特定网页.现在我正在使用谷歌Chrome桌面快捷方式和命令行开关来实现这一目标,但它正在不足.我现在在目标文本框中有这行代码(右键单击快捷方式>属性>目标文本框):
C:\Users\ComputerName\AppData\Local\Google\Chrome\Application\chrome.exe --new-window --incognito "http://URL1" "http://URL2"
Run Code Online (Sandbox Code Playgroud)
这几乎完全符合我的要求.Google Chrome会在新的隐身窗口中打开,其中的网址位于不同的标签中.除此之外,还有一个大问题.目标文本框仅允许非常有限的字符数.我需要在多个标签中打开多个网址,最有可能是8个或更多.我的所有网址都不适合目标文本框.
最重要的是,它似乎--disable-images对Windows 7不起作用.我想在打开这么多标签时禁用图像以及Java和Flash以提高性能.
那么,我如何获得一个快捷方式,在一个新的隐身窗口中打开谷歌浏览器,其中多个标签会转到多个不同的网站(URL)?
最好禁用图像,禁用Java和Flash.(请记住,此快捷方式可能是.bat文件或类似的东西.)
我在代码中做了一些更改,当我去调试程序时,我遇到了构建错误.该错误促使我的防病毒软件(Avast)将我的程序阻止为"可疑文件".
Visual Studio返回此错误:错误1无法复制文件"obj\Debug\CopyFile.exe",因为找不到它.
这是在此错误开始发生之前发生的事件的向下运行.
在菜单条中添加了新菜单项.
用新菜单项替换代码中单选按钮引用的实例.
调试,程序工作正常,直到我点击一个按钮.
在代码中找到剩余的单选按钮引用实例并替换它们.
调试,程序运行正常.退出调试.
从GUI中删除旧的单选按钮.(他们在代码中不再有任何引用.)
试图调试,收到错误,杀毒软件阻止程序exe文件为可疑.
错误无法复制文件"obj\Debug\CopyFile.exe",因为找不到它.
我对代码做了什么导致这个?我是否可能在事故中删除了其他一些代码区域,我不知道?我不明白为什么我的程序不会调试.
vb.net debugging antivirus file-not-found visual-studio-2012
以下是我的问题:如何使用BackGroundWorker(或InvokeRequired方法)进行线程安全调用以将文本追加到文本框中?
这是我的问题,有很多细节和背景:我一直致力于将文件从一个位置复制到另一个位置以进行备份的程序.我设置了一个选项,当使用FileSysteWatcher修改文件时将保存文件.这是代码:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Me.Load
Dim directoryPath As String = Path.GetDirectoryName(TextBox1.Text)
Dim varFileSystemWatcher As New FileSystemWatcher()
varFileSystemWatcher.Path = directoryPath
varFileSystemWatcher.NotifyFilter = (NotifyFilters.LastWrite)
varFileSystemWatcher.Filter = Path.GetFileName(TextBox1.Text)
AddHandler varFileSystemWatcher.Changed, AddressOf OnChanged
varFileSystemWatcher.EnableRaisingEvents = True
End Sub
Private Sub OnChanged(source As Object, ByVal e As FileSystemEventArgs)
My.Computer.FileSystem.CopyFile(e.FullPath, TextBox2.Text & "\" & e.Name, True)
TextBox3.ApendText("[New Text]") ' This line causes an error
End Sub
Run Code Online (Sandbox Code Playgroud)除了更新textbox3中的文本外,代码工作正常.我需要在修改指定文件时更新文本框.这很重要,以便用户可以知道程序正在运行并拥有程序操作的完整日志.
导致的错误是:
跨线程操作无效:控制从其创建的线程以外的线程访问的"TextBox3".
我假设"AddHandler varFileSystemWatcher.Changed,AddressOf OnChanged"创建一个新线程.此外,更新"OnChange Sub"中的"textbox3"(以我的方式)不是一种线程安全的方式.所以我做了一些研究,发现这篇文章:
本文解释了可以使用InvokeRequired或BackgroundWorker进行线程安全调用.我想使用BackgroundWorker进行一个线程安全的调用(如果InvokeRequired效率更高,那么我将使用它),但是这个例子中提供的部分让我感到困惑:
' …Run Code Online (Sandbox Code Playgroud)