HKEY_CLASSES_ROOT\APPID\{5e9ddec7-5767-11cf-beab-00aa006c3606}\RemoteServerName=<机器名>
下面的是我的代码
public void ListAll(Guid catid, out OpcServers[] serverslist)
{
serverslist = null
Dispose()
Guid guid = new Guid("13486D51-4821-11D2-A494-3CB306C10000")
Type typeoflist = Type.GetTypeFromCLSID(guid)
OPCListObj = Activator.CreateInstance(typeoflist)
ifList = (IOPCServerList)OPCListObj
if (ifList == null)
Marshal.ThrowExceptionForHR(HRESULTS.E_ABORT)
ifList.EnumClassesOfCategories(1, ref catid, 0, ref catid, out EnumObj)
if (EnumObj == null)
Marshal.ThrowExceptionForHR(HRESULTS.E_ABORT)
ifEnum = (IEnumGUID)EnumObj
if (ifEnum == null)
Marshal.ThrowExceptionForHR(HRESULTS.E_ABORT)
int maxcount = 300
IntPtr ptrGuid = Marshal.AllocCoTaskMem(maxcount * 16)
int count = 0
ifEnum.Next(maxcount, ptrGuid, out count)
if (count <1)
{ Marshal.FreeCoTaskMem(ptrGuid)return}
serverslist = new OpcServers[count]
byte[] guidbin = new byte[16]
int runGuid = (int)ptrGuid
for (int i = 0i <counti++)
{
serverslist[i] = new OpcServers()
Marshal.Copy((IntPtr)runGuid, guidbin, 0, 16)
serverslist[i].ClsID = new Guid(guidbin)
ifList.GetClassDetails(ref serverslist[i].ClsID,
out serverslist[i].ProgID, out serverslist[i].ServerName)
runGuid += 16
}
Marshal.FreeCoTaskMem(ptrGuid)
Dispose()
}
用此代码连接本地OPC服务器是没有问题的,但是通过上面对注册表的编辑,将服务器换成远程服务器,就不能访问,代码运行起来还是连接的是本地OPC服务器。请教各位我该如何设置才能连接远程OPC服务器
小鸟云服务器niaoyun实例创建好之后,您可以使用以下任意一种方式登录服务器:远程桌面连接(MicrosoftTerminalServicesClient,MSTSC):采用这种方式登录,请确保实例能访问公网。如果在创建实例时没有购买带宽,则不能使用远程桌面连接。
管理终端VNC:无论您在创建实例时是否购买了带宽,只要您本地有网页浏览器,都可以通过管理控制台的管理终端登录实例。
使用远程桌面连接(MSTSC)登录实例
打开开始菜单>远程桌面连接,或在开始菜单>搜索中输入mstsc。也可以使用快捷键Win+R来启动运行窗口,输入mstsc后回车启动远程桌面连接。
在远程桌面连接对话框中,输入实例的公网IP地址。单击显示选项。
输入用户名,如小鸟云默认为niaoyun。单击允许我保存凭据,然后单击连接。这样以后登录就不需要手动输入密码了。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)