您的位置:首页 > 其它

文件被某一进程打开,无法访问问题

2010-12-10 20:19 309 查看
想实现一个功能:读取某个软件的数据文件,这个软件是别人写的。然后我把数据偷出来存到自己的数据库。
之前采用FireStream方式是可以实现 对方的这个软件边运行边接收数据,然后我这个工具边读取,但发觉耗费CPU和IO性能非常厉害,后面改成.net 4.0的内存映射文件机制。。。却无法实现对方这个软件边运行,然后我这个工具第一次创建内存映射文件就失败了。。请问如何改代码,请不要提说自己先手动把软件关闭然后再运行我这个工具。。
代码如下://之前我有通过设置 FileStream 设置共享模式,然后利用 MemoryMappedFile.CreateFromFile(FileStream stream.....
的构造函数 进行创建内存映射,但在 shmemoryFile.CreateViewAccessor(); 创建镜像的时候就会抛异常提示 什么无效访问。。所以就卡住不知道如何处理。。。此处会抛出 正由另外一个进程在使用,无法访问此文件
大哥,我自然知道要关闭文件的用法。。。
我是说这个文件被那个别人写的软件打开了。。。我这边就没法创建这个文件的内存映射了。。。
这个软件我是没法去给他改代码什么关闭文件流。。。
也知道文件用完资源要关闭等道理,
我是急切寻求关于 这类文件被其他程序打开 该如何不抛异常的进行创建内存映射?

MemoryMappedFile.CreateFromFile 创建内存映射文件后,这个文件发觉连其他软件都不能用,纠结呀

你的程序是不能读了,但不会Copy一份再读吗?有时候要换个思路

客户端IP不会改变?操作系统不会升级?时区不能随便修改?
不好意思啊,没看懂你的意思。。。。我的意思不是我要做一个判断用户唯一性的网页。。。。我的问题是我遇到这么一个网站

一家游戏公司申请账号的页面,他一台电脑只让注册5个号,超过5个后,在这台电脑上不管做什么修改,都不让注册,我奇怪的是他是用什么来判断我已经注册5个号了的网卡方面的等等,我听说的

连操作系统改了也还是只能注册5次?牛逼啊?那你注册的时候让你安装什么插件了没有啊?
按你说的,你注册5次,然后操作系统换掉,还是不能注册(你是这个意思吧),那应该就是获取到硬件里面的东西了吧?至于获取了什么,怎么获取的就不知道了,呵呵。。。问26楼吧。。。感觉还是mac地址的问题,从这上面入手吧

硬件信息网站不可能通过浏览器拿到,这个不用考虑。LZ是不是安装了他们的游戏,浏览器的 user-agent 请求头可能有他们的标记。

难不成是获得了机子硬件的某些属性名称?

没有安装。。。主要是我不止有用了一台电脑测试,在任何没有安装他们游戏的机器上注册都一样。

我肯定没有安装他们那个网页的任何插件。。。一般来说网页要求用户安装插件的话,浏览器或者杀毒软件(360)之类的会有提示,比如去icbc,支付宝之类的网站,都有提示,但这个网页没有任何提示。
他是不是用了flash得到我的硬件信息,我就不清楚了。。这一块我也不熟悉。。。大侠帮忙看看呢,网址是
看下这个网页是不是用flash获取了客户机器的硬件信息。。。
人格担保这个网页不是什么木马病毒什么的,是Nexon公司洛奇这款游戏的账号注册页面
感觉必定是和ie有关,我用chrome压根就注册不了,而ie可以,也有限制,可能还是有插件吧

我看过才这么说的,引用的js我都下载了snare.js,我大致看了他们的js源代码,好像有flash的相关信息,
肯定不是通过js或者一般的插件,flash也是插件啊,你确定你连flash都没安装吗?
我在一台重装了系统的机器上注册过,新装好的机器,确定没有安装Flash, 访问一般带Flash的网页浏览器都会提示需要安装Flash, 但我没装。。。即便是这样去注册,还是一样。。。

在一台已经不能注册(已经提示 system error)的机器上装了虚拟机,而且我一口气装了两套操作系统,在第一套系统中注册了1个号,然后到第二套系统中注册了4个号,之后回到第一套系统中,提示system error !!! 再回去第二套中,也不能注册了。。。。诡诈啊。。。多个虚拟系统都只给注册5个,他是怎么知道这两套虚拟系统是在同一台机器中的呢。。。。

来源:nba直播
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐