c# Clipboard.SetDataObject(bmp1)  在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式.请确保您的 Main 函数带有 STAThreadAttribute 标记. 只有将调试器附加到该进程才会引发此异常 将 try { //Image bmp1 = Image.FromFile("C:\\Users\\jake\\Desktop\\03.jpeg"); // Clipboard.Clear(); Clipboard.SetDataO…
异常: 在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式.请确保您的 Main 函数带有 STAThreadAttribute 标记. 只有将调试器附加到该进程才会引发此异常. 方法1: class Program { /// <summary> /// 图片资料文件同步 /// </summary> /// <param name="args"></param> [STAThread] //加这个属性,创建并进入单…
在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式 转载自:http://blog.163.com/smhily_min/blog/static/75206226201092011444205/     在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式.请确保您的 Main 函数带有 STAThreadAttribute 标记. 只有将调试器附加到该进程才会引发此异常. 程序之前运行正常,我只是在一个事件中定义了做了如下操作,程序抛出此异常 privat…
最近做一个蛋疼的东西就是C#调用windows API 来操作一个摄像头,自动处理一些东西.要用到剪切板复制 粘贴功能,即 Clipboard.SetDataObject(filedic, true)等. 本来测试的时候,通过主线程 按钮点击开始的时候没有任何问题.但是把整个过程放在一个单独一个线程的时候一到复制的时候就报错: “在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式,请确保您的Main函数带有STAThreadAttribute标记”. 解决办法如下: 在mai…
导入导出功能,在调用ShowDialog时的错误,解决办法如下: WinForm窗体的入口点: /// <summary> /// 应用程序的主入口点. /// </summary> [STAThread] private static void Main(String[] args) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Applicati…
今天在编写一系列新增需求代码后,开始调试代码 发现上个版本正常可运行的代码出现了:引发的异常: 0xC0000005: 读取位置 0xFFFFFFFFFFFFFFFF 时发生访问冲突. 上个版本数代码明明是没有问题的,怎么就突然出现这个问题了呢? 一般来说这个问题是由于引用了空指针.数组越界,使用了野指针等问题, 然后检查了运行相关代码,并未发现问题. 进入逐步调试: 发现有一个类里面的数据发生读取内存异常,调试器里出现地址大小端紊乱: 有的地址是正常的大端地址:0x000000000034fa…
图片: 上周不小心升级了IE10,今天,VS2010报:未能将脚本调试器附加到计算机XXX上的进程iexplore.exe . 已附加了一个调试器”.启动调试失败. 到网上查找解决办法,最后用这个解决的:(如下) 解决:1.以管理员身份打开CMD,2.运行: regsvr32.exe "%ProgramFiles(x86)%\Common Files\Microsoft Shared\VS7Debug\msdbg2.dll" 观察:查看进程,发现IE10启动的时会加载两个iexplor…
IE升级到10.0,VS2010启动调试时报“未能将脚本调试器附加到计算机..” 今天,在调试代码时,调试器弹出提示框,报:未能将脚本调试器附加到计算机XXX上的进程iexplore.exe . 已附加了一个调试器”.启动调试失败. 突然,想起想升级IE 到10,想到有可能是升级IE造成的.因为ie10启动的时候会加载两个iexplorer.exe进程. 解决办法:以管理员身份打开CMD,运行: win7(32位):  regsvr32 "%ProgramFiles%\Internet Expl…
关于这类问题网上搜索会有很多解决方案,但基本的意思都相差不大,大致问题出于启用线程时调用类似剪贴板Clipboard.SetDataObject出错,我把我的测试代码展现下: 解决方案:只需将thread.SetApartmentState(ApartmentState.STA);反注释就可以了. 出现的原因: 单元是进程内部具有相同线程访问要求的对象的逻辑容器.同一单元中的所有对象都可以接收从该单元中的任何线程发出的调用..NET Framework 不使用单元,托管对象自己负责以线程安全的方…
为什么调试附加进程? Visual Studio 调试器可以附加到在 Visual Studio 外运行的进程. 可以使用此附加功能执行以下操作: 调试并非在 Visual Studio 中创建的应用程序. 同时调试多个进程. 也可以通过在单个解决方案内启动多个项目来调试多个进程. 调试正在远程计算机上运行的进程. 调试一个 DLL,该 DLL 运行在不易从 Visual Studio 启动的独立进程上.例如,与 Internet 信息服务一起运行的服务或 ISAPI DLL. 当一个进程在 V…