连接到LAN网络位置上的数据库
我有一个我想通过网络访问文件的应用程序.我目前正在使用此连接字符串. string myconnectionstring = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=\\" + PCName + "\\datafolder\\data.mdb"; PC名称是我使用的网络上所见的计算机的名称: dll netapi32 但是,虽然我确实可以完全获取路径,因为它应该是我的代码添加" C:"的路径,而不是" \ pcname \ data -folder \ data.mdb". 我对此读了很多东西,这都没有太大的意义,因为我的代码看起来完全应该是应该的. 解决方案 您的代码线看起来不错.尝试在字符串之前添加 @或添加slash,如\\\\" + PCName string myconnectionstring = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=\
4 2024-04-25
编程技术问答社区
用shell API重命名一个映射的驱动器
如何使用Windows Shell API和C#更改映射驱动器的友好名称?我的实际问题是,我正在处理没有UNC路径的断开网络驱动器,因此将其重命名的唯一方法是从Explorer中,但我想以编程方式进行操作. 解决方案 我也有类似的问题,并使用以下代码解决了它: Shell32.Shell shell = new Shell32.Shell(); ((Shell32.Folder2)shell.NameSpace("X:")).Self.Name = "Friendly Label"; 引用com-> Microsoft Shell控件和自动化. 基本上,这是我拥有的旧VBS代码的C#表示 Set oShell = CreateObject("Shell.Application") oShell.NameSpace("X:").Self.Name = "Friendly Label" 然而,区别在于,由于某种原因,c#的命名空间实现a 文件夹对象虽然所有VB实现似乎
10 2024-04-22
编程技术问答社区
一个地图网络如何从Windows服务驱动?
我正在尝试从Windows服务映射网络驱动器,我使用批处理文件来执行以下命令 NET USE U: \\192.168.55.6\folder password 在服务构造函数或ONSTART事件中执行批处理文件时,驱动器不会映射? Process process = new Process(); process.StartInfo.FileName = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + "\\MAP.BAT"; process.StartInfo.CreateNoWindow = false; process.Start(); 一个地图网络如何从Windows服务驱动? 解决方案 通过使用其他解决方案 可以使用对Windows脚本主机对象模型
0 2024-04-22
编程技术问答社区
用程序确定在Windows上最后修改文件的用户?
我的任务是在C#中编写一个简单的命令行实用程序,该实用程序将在服务器上监视一个目录,该目录将访问几个用户以复制/cut/cut/cut/paste/view数据.我使用 filesystemwatcher 这样做,但它缺少几个功能. 是否可以确定用户或至少计算机名称可以从访问/修改文件的位置进行? (注意:这不必与Filesystemwatcher在一起,我正在寻找任何方法.) 解决方案 我认为您无法直接从C#监视它.并非没有主机操作系统的帮助. Windows和NTF允许您审核特定目录并记录主机机器的安全事件日志中的访问(因此,托管的服务器必须审核,而不是客户端). 来自 kb310399-如何审核Windows XP 中的文件,文件夹和打印机的用户访问用户访问 审核用户访问文件,文件夹和打印机 审核日志显示在事件查看器中的安全日志中.启用此功能: 单击"开始",单击控制面板,单击性能和维护,然后单击管理工具. 双击本地安全策略. 在左
2 2024-04-18
编程技术问答社区
在C#中找出一个应用程序是否从网络驱动器运行的最简单方法?
我想通过编程方式找出我的应用程序是否从网络驱动器运行.这样做的最简单方法是什么?它应支持UNC路径(\\127.0.0.1\d$)和映射的网络驱动器(z:). 解决方案 这是用于映射驱动器外壳的.您可以使用DriveInfo类来找出驱动器A是否为网络驱动器. DriveInfo info = new DriveInfo("Z"); if (info.DriveType == DriveType.Network) { // Running from network } 完成方法和示例代码. public static bool IsRunningFromNetwork(string rootPath) { try { System.IO.DriveInfo info = new DriveInfo(rootPath); if (info.DriveType == DriveType.Network)
2 2024-04-14
编程技术问答社区
复制网络共享驱动器上的文件
我有一个我想复制文件的网络共享驱动器(" \ serverur \文件夹"). 我可以使用特定用户在驱动器上写入("用户"/"通过"). 如何使用C#? 解决方案 未经测试的代码,但它将与: 相似 AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal); // http://pinvoke.net/default.aspx/advapi32/LogonUser.html IntPtr token; LogonUser("username", "domain", "password", LogonType.LOGON32_LOGON_BATCH, LogonProvider.LOGON32_PROVIDER_DEFAULT); WindowsIdentity identity = new WindowsIdentity(token); WindowsImpersonati
14 2024-04-10
编程技术问答社区
在批处理文件中不硬编码盘符的情况下映射一个网络驱动器
我需要用批处理文件映射网络驱动器,但不想指定驱动器. 批处理文件用作部署过程的一部分;我从CruiseControl.Net中调用批处理文件,批处理文件需要映射一个UNC路径,该路径需要凭据进行身份验证.然后,批处理文件调用RoboCopy将网站从输出目录部署到目标(并排除某些文件和文件夹).最后,批次删除了网络驱动器. 问题在于,这是不可扩展的,只有几个项目,但是我们现在使用了20个项目使用此方法,并且用完了驱动器字母来映射.我不想重复使用驱动字母,因为他们可能会发生碰撞 - 这很糟糕. 这是批处理文件的一个示例: @echo off net use x: \\192.168.0.1\Share\wwwroot\MyProject /user:mydomain\myuser MyP455w0rd robocopy.exe "W:\wwwroot\MyProject" x:\ *.* /E /XO /XD "App_Data/Search" "*.svn" /XF
6 2024-03-29
编程技术问答社区
授予IIS Express权限以访问VMWare中的网络驱动器
我在VMware中有一个Windows 7虚拟机,我用来开发使用默认IIS Express服务器的ASP.NET MVC 5 Web应用程序.我喜欢将项目保存在外部硬盘驱动器上,可以通过共享文件夹/网络驱动器在虚拟机中访问该硬盘驱动器.但是,当我运行应用程序时,IIS Express无法在项目目录中访问我的Web.config文件.它可以在正确的文件夹中查看,所以我很确定这是一个权限问题.如何授予IIS Express文件访问网络驱动器上的文件? 我尝试过的东西 以管理员的身份运行Visual Studio 设置iisexpress.exe始终以管理员的身份运行 在applicationhost.config文件中查看 试图在网络驱动器上设置写入权限(右键单击驱动器并转到属性,但没有可用的"安全"选项卡) ) 我不记得我在寻找解决方案时尝试过的其他一些事情 已知的最后一个度假胜地,我宁愿避免 将项目文件从外部硬盘驱动器复制到VM的存储空间,反之亦然
20 2024-03-09
编程技术问答社区
网络驱动器在启动时不可用
我有一个在启动时加载的C#应用​​程序,并将数据记录到网络驱动器,该网络驱动器以x: 的形式安装 当机器首次引导时,应用程序会抛出一个错误,即x:\不可用.如果我重新启动应用程序,则相同的错误. 但是,如果我打开Windows Explorer并双击以浏览驱动器,则可以运行该应用程序,然后将其连接到x:正好. . 尽管被映射到了,网络驱动器是否在启动时不会自动初始化?有没有办法将它们设置为自动初始化? 解决方案 我遇到了完全相同的问题.我不知道那里是否有更好的方法,但是在访问映射驱动器之前,我将其添加到我的代码中. Process mapDrive = new Process(); mapDrive.StartInfo.FileName = "net.exe"; mapDrive.StartInfo.Arguments = @"use c: \\server\share"; mapDrive.StartInfo.WindowStyle = ProcessWin
10 2024-01-07
编程技术问答社区
我如何通过通常的System.IO类来访问网络驱动器?
我的软件处理文件上的多个操作,我现在使用System.IO class. 完成了相关功能的编写. 我现在需要添加对网络驱动器的支持.使用映射非常有效(尽管Directory.GetFiles有点低,但我不知道为什么),但是我现在想直接处理诸如\\192.168.0.10\Shared Folder\MyDrive>的路径.除了使用新生成的路径将驱动器安装到可用的驱动器,然后卸载? ,是否有任何方法可以处理此类型的路径 解决方案 您可以直接在路径中使用UNC路径(以\\开头).但是,您必须考虑此连接的凭据,这可能是棘手的部分. 有几种方法: 如果远程系统在同一域上或域之间存在信任关系,并且您的程序正在运行的用户和合适的访问权限,则它将"仅工作". 您可以将net use命令(通过Windows net.exe程序)执行,以与特定的用户名和密码建立连接.请注意,连接在用户会话中运行的任何程序都可以使用,而不仅仅是您的应用程序.完成后,请使用/DELETE命令删
12 2024-01-03
编程技术问答社区
为什么我的程序不能识别映射的UNC路径?
我在我的Delphi程序中的Windows 7中写入映射的网络驱动器(P :)遇到一些问题.例如,当我尝试ForceDirectories('P:\test\folder')时,我会发现一个错误(找不到路径). 我尝试在代码(ForceDirectories('\\computername\share\test\folder'))中的UNC路径中键入键入.但是,ExpandUNCFileName('P:\')似乎不起作用.它返回" p:\'. 在Windows XP上,ExpandUNCFileName('P:\')返回UNC路径. 如何在Windows 7上获得Delphi的UNC路径,或者以其他方式写入映射的网络驱动器? 在进行进一步调查后,好像我在Windows中缺少某种初始化.我有另一个使用TcxShellComboBox(devexpress组件)的应用程序(APP2).导航到p:在App2中,在该组合中,调用ExpandUNCFileName在第一个应用程序
16 2023-12-07
编程技术问答社区
当网站位于networkdrive时,IE不能正常渲染CSS
这有点奇怪的问题,我们与我的朋友遇到了.我们在Network Drive找到了网站,并试图从那里打开它.所有其他浏览器都呈现此页面很好,但是(顺便说一句.为什么总是IE?:))无法理解内联块语句.但是,如果我将文件复制到本地驱动器,那没有问题,即像其他浏览器一样呈现所有内容. 我用IE7-9B进行了测试. 解决方案 这听起来像 问题 - ie开关渲染模式,具体取决于页面的位置. 这很疯狂. > http://127.0.0.1/mysite/mypage.php
10 2023-12-07
编程技术问答社区
在网络驱动器的窗口中使用PHP的fopen功能
我有以下代码: $file_name = "1234"; $filename = "L:\\videoette_converter\\batch_files\\".$file_name.'.bat'; if (!$handle = fopen($filename, 'a')) { echo "Cannot open file ($filename)"; exit; } 我从该代码中获得以下错误: 警告:fopen(l:\ videetette_converter \ batch_files \ 1234.bat) [function.fopen]:未能打开流:没有此类文件或目录 C:\ wamp \ www \ videetette_converter \ index.php on Line 47 和我的php 的调试线 无法打开文件(l:\ videetette_converter \ batch_files \ 1234.bat)
22 2023-12-07
编程技术问答社区
Windows网络驱动器从Linux环境上运行的PHP驱动器
我必须检查一下是否有效. 我们通过SSH访问了Debian服务器.我们在该服务器上有一个PHP Intranet解决方案,因此我们可以运行PHP脚本.我们有以下方案: 给定的Windows网络驱动器:\\ ip \文件夹$ 我们必须在Linux下从PHP读取此Windows网络驱动器.我从来没有做过这样的事情. 我们无权安装服务器上的任何内容.我不知道,此驱动器可能可以从Linux机器访问,也可能无法访问. (由于情况,我猜它是可以访问的). 我们没有收到任何用户并通过驱动器来传递,所以我想我们不需要它. 问题是:如果在客户方面正确设置了一切,是否可以在这种情况下这样做?如果是,怎么样? 如果需要的话,我们可以询问更多信息和配置更改,但是我想知道我们现在是否可以这样做,因为它很有趣. 预先感谢 negra 解决方案 您可以使用但是,这取决于实际上可以远程访问的共享,并且您拥有访问权限(通过Windows帐户或具有"所有人/读取
12 2023-12-06
编程技术问答社区
如何确保应用程序的网络驱动器被连接?
我有一个安装在小型办公环境中的桌面Windows应用程序. 该应用程序使用.MDB数据库文件作为其数据库,该数据库存储在网络驱动器上. 配置文件使用字母驱动器:例如. f:\data\db.mdb 启动时,应用程序需要访问此数据库文件.在应用程序启动时,如何确保连接和可访问网络驱动器? 有时Windows不会重新连接网络驱动器,连接它们的唯一方法是在我的计算机中双击它们,即使映射驱动器时"重新连接"时也会滴答滴答. . 解决方案是使用\\machine_name\share而不是驱动字母吗? 解决方案 您问:"解决方案是使用\ Machine_name \共享而不是驱动器字母吗?" 我想,是的,可能是. UNC路径避免了2个问题: 分享未连接到驱动信 共享已连接,但映射到与您预期的驱动器不同 未知的是,您的应用程序中的任何内容是否会成为MDB的UNC路径,或者是一个并发症或平坦的破坏交易者. 其他解决方案 您应该使用UN
36 2023-12-05
编程技术问答社区
在Python中从网络盘符中获取完整的计算机名称
我正在使用python填充带有许多存储文件的文件路径的表.但是,该路径需要具有完整的网络驱动器计算机名称,而不仅仅是驱动器字母,即 //computername/folder/subfolder/file 不是 p:/folder/subfolder/file 我已经使用win32api,win32file和OS.Path模块进行了调查,但看起来没有什么能力.我需要win32api.GetComputerName()之类的东西,但是有能力将已知的驱动器字母作为参数,并且返回映射到字母的计算机名称. 那么,无论如何,Python中是否有驱动器字母并恢复计算机名称? 解决方案 网络驱动器使用 Windows网络 API由mpr.dll(多个提供商路由器).您可以通过 WNetAddConnection2 创建网络驱动器.要获取与本地设备关联的远程路径,请致电 WNetGetConnection .您可以使用CTYPES执行此操作: import cty
8 2023-12-05
编程技术问答社区
如何重新命名或重新标记网络驱动器的标签
我使用 wnetaddconnection2 工作正常,但是在默认安装驱动器时,它将名称分配为服务器IP和foldername, ndstestFolder在'nas服务器(172.24.17.116)上'(r:) 我需要使用有什么方法可以重命名或重新标记网络驱动器?这样我就可以更改 ndstestFolder在'nas服务器(172.24.17.116)上'(r:) to nds@myfolder(r:) 解决方案 将您的脚本转换为C ++: #include void RenameDrive(BSTR strNewName, BSTR strDriveLetter) { IShellDispatch* pShellDispatch = NULL; HRESULT hr = CoCreateInstance(CLSID_Shell, NU
8 2023-12-05
编程技术问答社区
什么是 "Zone.Identifier "文件,我如何防止它们被创建?
我经常看到名为'blabla.exe:Zone.Identifier'的文件. 这些文件可在网络驱动器上看到. 什么是Zone.Identifier文件? 结肠在文件名中是什么意思? 结肠与文件的扩展属性有关? 当我将代码文件从Windows Explorer复制到WSL目录时,如何防止这些文件被创建? 解决方案 结肠后的文本是"替代数据流"的标识符.广告用于存储有关文件的元信息.例如,区域标识符存储是否从Internet下载该文件. 一些特定信息关于URL安全区域, Zone.Identifier流名称 另请参见 technet ,最后,这里是 streams ,ADS的Sysinternals工具./p>
36 2023-12-05
编程技术问答社区
在Visual Basic 2010中绘制网络驱动器
我已经花了几个月的时间尝试获取有关如何映射网络驱动器,断开连接并重新映射网络驱动程序的Visual Basic 2010代码. 我将需要能够将其映射到配置文件夹中: 完整路径; " \ 10.10.10.12 \ profile文件夹". 我需要登录才能访问网络文件夹/user:Domainname\UserName Password, 然后确认映射是否成功. 映射后,我将请求配置文件名称,并检查网络上是否存在此类配置文件夹. 如果存在,请返回一条消息,说明配置文件存在,并删除覆盖任何文件夹属性(例如仅阅读)等的配置文件夹,等等. 还有其他任务,但他的地方是我被击中的地方. 解决方案 这个问题很旧,但也许OP仍在寻找.我写了一个HTA页面,返回了将网络地址映射到虚拟驱动器.该代码为vbscript,因此使用WScript库,这不是VB.NET的本地部分.请参阅 wscript在stackoverflow on stackoverflow on stackover
16 2023-11-23
编程技术问答社区
将视觉工作室项目保持在网络驱动器上
我们刚刚从本地存储所有文件到将它们存储在网络驱动器上.问题是我现在还存储了我的Visual Studio项目(尚无版本控制系统,正在努力).我听说过过去这样做的问题,但从未听说过工作能力.现在有工作吗? Visual Studio在本地安装.这些文件在网络驱动器上.我该如何工作? 解决方案 当我们使用源控件时,我们也确实从网络驱动器(不是共享目录,网络驱动器上的私人目录)运行所有项目.网络驱动器每晚都会备份,还使用音量阴影副本,因此,如果您需要在之前还原到 ,则可以. . 要获取正确运行的项目,请遵循这些步骤. 基本上,您只需要将共享目录映射到驱动器,然后根据该URL授予所有代码的许可.说您映射到" n:\",然后将" n:\*"作为您的URL模式.您需要通配符并不明显,但是您这样做. 其他解决方案 这个问题相当通用,所以我将对我面临的一个问题给出答案. 我使用Mac上的虚拟机在Mac上运行Visual Studio 2010,同时通过网络共享将所有
12 2023-11-20
编程技术问答社区