Windows映射模式

合集下载

Windows10SMB445端口公网映射问题的解决方法

Windows10SMB445端口公网映射问题的解决方法

Windows10SMB445端⼝公⽹映射问题的解决⽅法前两年勒索病毒利⽤445端⼝SMB协议上的漏洞⼤肆传播,导致各⼤运营商都相继屏蔽了445端⼝,因此我们想要在公⽹使⽤SMB连接也被⼀同被限制了。

⾸先要说的是,这个端⼝是Windows写死的,⽆法更改,所以只能通过端⼝映射,端⼝转发来实现连接。

只需要在路由器,或者本地TCP映射软件⾥设置⼀下,就能将本地445端⼝映射到其他可⽤的端⼝上,以此实现公⽹连接SMB。

如果是这样,也就没有问题了,⼿机上也有丰富的⽀持⾮标端⼝SMB连接的软件,这⾥推荐两个和。

⽽且⽆论是Linux和Android都对SMB ⾮标端⼝有相当的⽀持。

但是现在问题出在windows本⾝,它不仅写死了服务端的端⼝,也同样写死了客户端的端⼝,它不⽀持\\ip:port这样的连接⽅法,只⽀持\\ip的写法,然后默认去访问指定地址的445端⼝,⽬前还没有Windwos上⽀持⾮标端⼝SMB连接的客户端,知乎上有⼈说可以⽤微软商店的"",但是本⼈尝试了⼀下并不可靠,甚⾄连默认的445端⼝都⽆法连接。

这样下来,我们在外⽹Windows的部署上,还不得不在客户端本地做⼀次端⼝转发,简单来说,可以使⽤⾥的⼩⼯具,安装好后如下图添加转发,就可以在Windows上使⽤⾮标端⼝连接SMB了。

⽬前的讨论很有价值的是V2ex上的这个,我从中受益颇多,综上所述,如果SMB仅仅作为局域⽹之间的传输还是好的。

公⽹的Windwos端的访问⽬前还没有解决的⽅案,只能⽤本地的端⼝转发来做连接,服务端客户端都要部署还是有点过于⿇烦了。

如果你的⽬的仅是分享电脑上的东西给别⼈的话,那么有以下的⽅案:①继续使⽤SMB,服务端做映射后,Window客户端访问时需要⾃⼰做本地端⼝转发,其他设备可以直接修改访问端⼝(当然不嫌⿇烦的话也可以⽤这些设备先下载,然后复制给windows.....)②换⽤其他协议的共享⽅式,NAS共享访问协议有这四种,你可以选择⽀持其他协议的软件进⾏分享,上⾯的V2ex讨论贴⾥就有⼈在分享。

CDC绘图

CDC绘图

图形设备接口一、GDI、DC的概念1.GDI:(Graphics Device Interfase)图形设备接口,是一个应用程序与输出设备之间的中介。

一方面,GDI向应用程序提供一个与设备无关的编程环境,另一方面,它又以设备相关的格式和具体的设备打交道。

user32.dll2.DC:(Device Context)设备描述表,是一种Windows数据结构。

包括了与一个设备的绘制属性相关的信息。

所有的绘制操作通过一个设备描述表进行,绘制线条、形状和文本的Windows API 函数都与DC有关。

二、在Windows Application程序中画线1.定义两个全局变量用于记录鼠标按下的(x,y)坐标。

int nOrginX;int nOrginY;2.响应鼠标按下和鼠标抬起的消息:在Swich中加入case WM_LBUTTONDOWN:case WM_LBUTTONUP:3.在鼠标按下时记录鼠标按下的(x,y)坐标,查MSDN得知WM_LBUTTONDOWN lParam的低字存放x坐标,高字存放y坐标,将其取出存入nOrginX,nOrginY。

case WM_LBUTTONDOWN:nOrginX=lParam & 0x0000ffff;nOrginY=lParam >> 16 & 0x0000ffff;break;4.在鼠标抬起时画线:case WM_LBUTTONUP:HDC hdc;hdc=GetDC(hwnd);PAINTSTRUCT ps;::MoveToEx(hdc,nOrginX,nOrginY,NULL);::LineTo(hdc,LOWORD(lParam),HIWORD(lParam) );::ReleaseDC(hwnd,hdc);三、在MFC程序中画线:1.在CxxxView(其中xxx是你的工程名字)中响应鼠标按下和鼠标抬起的消息(因为只有CxxxView中才能接收到鼠标消息):使用ClassWizard加入WM_LBUTTONDOWN,WM_LBUTTONUP的消息响应函数OnLButtonDown, OnLButtonUp。

Sun Ray Connector for Windows OS 2.2 用户指南(简体中文)说明书

Sun Ray Connector for Windows OS 2.2 用户指南(简体中文)说明书

Sun Ray Connector for Windows OS 2.2 User's Guide- Simplified Chinese -February 2011Sun Ray Connector for Windows OS 2.2 User's Guide - Simplified Chinese Copyright © 2011, Oracle and/or its affiliates. All rights reserved.This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.If this software or related documentation is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable:U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle USA, Inc., 500 Oracle Parkway, Redwood City, CA 94065.This software is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications which may create a risk of personal injury. If you use this software in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure the safe use of this software. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software in dangerous applications.Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.This software and documentation may provide access to or information on content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect tothird-party content, products, and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services.1. 2. Sun Ray Connector for Windows OS 2.2 用户指南Sun Ray Connector for Windows OS 2.2 用户指南目录如何启动 Windows 会话如何在 Java 桌面系统 (Java Desktop System, JDS) 中启动 Windows 会话如何锁定 Windows 会话如何设置对 手册页的访问权限uttsc 如何设置对 SRWC 命令的访问权限如何设置桌面快捷方式以启动 Windows 会话本地驱动器映射排除 Windows 会话连接问题问题:% 意外的时区值连接错误消息使用(所有主题)如何启动 Windows 会话安装 Sun Ray Windows Connector 软件后,即可在 Windows 系统的 DTU 上启动 Windows 会话。

Windows程序设计课程复习题

Windows程序设计课程复习题

Windows程序设计复习题一选择题1 下列程序设计方法中,()是一种基于对象的程序设计方法。

A: MFC程序设计B: 使用WindowsAPI编程C: 使用VisualBasic语言编程 D: 使用C#程序设计语言编程2 MFC程序框架中,最先执行的函数是()。

A: WinMain函数B: CWinApp类的构造函数C: CWinApp类的InitInstance函数D: Cwnd的OnCreate函数3 CWinApp类中用()成员函数实现了对消息环的封装。

A: InitInstance( ) B: Run()C: OnIdle() D: WndProc()4 消息的4个参数中,表示消息类型的参数是()。

A: HWND hwnd B: messageID C: wParam D: lParam5下列各消息中,与程序的菜单命令、工具栏按钮或对话框按钮相对应的消息是()。

A: WM_CHAR B: WM_COMMAND C: WM_CREATE D: WM_PAINT6 MFC消息映射机制中,下列消息映射表BEGIN_MESSAGE_MAP(CGraphicsView, CScrollView)ON_WM_PAINT()END_MESSAGE_MAP()把WM_PAINT消息映射到()。

A: CGraphicsView类OnPaint函数B: CGraphicsView类OnDraw函数。

C: CScrollView类的OnPaint函数D: CScrollView类的OnDraw成员函数。

7 下列MFC类中,不直接支持消息映射的MFC基类是(),A: CCmdTarget B: CWinAPP C: CWnd D: CMap8 下列集合类中,其内部是使用散列表技术实现的MFC类的是()。

A: CArray B: CList C: CMap D: CPtrList9 下列CWnd类成员函数中,用于任何消息的可覆盖函数是()。

windows映射网盘 协议

windows映射网盘 协议

windows映射网盘协议企业网盘有很多概念和功能让用户混淆,特别是映射盘、同步盘、虚拟盘。

不少用户分不清其中的差异和使用方法,所以也造成无法判断。

所以今天就来谈谈这三者的差异,并且也帮助用户做一个鉴别。

先说映射盘,现在很多企业网盘宣称有映射盘,但其实大部分都是伪映射盘,虽然看上去可能差别不大,都是一个磁盘的样子,可是使用起来差别很大。

使用为满足概念做的伪映射盘,不仅会有安全漏洞,还从侧面说明网盘服务商的技术实力和文件在服务器上的结构,因为某些文件结构相当于做了个资源管理器,还不如直接用个nas,当企业网盘来卖就是欺骗消费者了。

真正的网盘映射盘映射盘的好处是不占用本地存储空间(仅仅缓存需要空间),用户可以像操作本地磁盘驱动器一样的使用这个盘。

真正的网盘映射盘有几个典型,譬如微软的onedriver、苹果的iCloud、google drive。

它们的特点是,映射盘通过后台的应用程序连接存储服务接口。

说白了就是映射盘的内容及里面的文件是可控的。

映射盘中的文件权限可以和网盘中的设定完全一致,同时可以自定义列表栏,显示的项目,映射盘的右键菜单内容,可以说这类映射盘是一个做成映射盘样子的独立应用程序。

并且,由于这类映射盘是通过客户端控制的,所以支持高级的存储结构,譬如对象存储、分布式存储,也支持秒传、增量上传。

这在文件使用和安全上是很重要的。

不用这种方式的映射盘可以说整个网盘数据底层结构都有问题。

如何分辨??最简的办法就是看映射盘中是否显示文件状态和文件夹样式是否能个性化。

还有就是,这类真网盘映射盘都支持公有云服务,因为在本地安装的映射盘应用可以按标准去读取公有云存储接口的数据。

接下来说的伪映射盘就做不到。

真正的网盘映射盘是有一定技术含量的,需要对操作系统底层开发具有一定认识。

国内能做到的团队不多。

我在行业这么多年,国内厂商接触无数,做到的只有:WPS(仅windows)、巴别鸟(win、mac)、坚果云(win、mac)。

windows中添加一个网络位置与映射网络驱动器的区别

windows中添加一个网络位置与映射网络驱动器的区别

windows中添加⼀个⽹络位置与映射⽹络驱动器的区别⽹络位置⽆盘符只是⼀个标记,功能不多,例如不能被设备上其它⼯程访问到占的通信流量少,如果只是简单的⽂件传输,可以⽤这个⽹络驱动器有盘符相当于本地的磁盘占的通信流量多⽹络位置是针对的是⼴域⽹!是⽤来打开⽹站、FTP站点或者⽹络位置⽹络驱动器是针对的是局域⽹!"映射⽹络驱动器" 的意思是将局域⽹中的某个⽬录映射成本地驱动器号,就是说把⽹络上其他机器的共享的⽂件夹映射⾃⼰机器上的⼀个磁盘,这样可以提⾼访问时间。

"映射⽹络驱动器"是实现磁盘共享的⼀种⽅法,具体来说就是利⽤局域⽹将⾃⼰的数据保存在另外⼀台电脑上或者把另外⼀台电脑⾥的⽂件虚拟到⾃⼰的机器上。

把远端共享资源映射到本地后,在"我的电脑"中多了⼀个盘符,就像⾃⼰的电脑上多了⼀个磁盘,可以很⽅便进⾏操作.(如"创建⼀个⽂件""复制""粘贴"等)。

等效于在"⽹上邻居"看到共享⽂件或磁盘,⾃⼰可以在权限范围内进⾏操作。

在⽹络中⽤户可能经常需要访问某⼀个或⼏个特定的⽹络共享资源,若每次通过⽹上邻居依次打开,⽐较⿇烦,这时⽤记可以使⽤“映射⽹络驱动器”功能,将该⽹络共享资源映射为⽹络驱动器,再次访问时,只需双击该⽹络驱动器图标即可。

具体操作:添加⼀个⽹络位置在磁盘资源管理器空⽩位置右击“添加⼀个⽹络位置”...,按提⽰下⼀步就中可以。

成功会在C:\Users\此处为⾃⼰的⽤户名\AppData\Roaming\Microsoft\Windows\Network Shortcuts⽂件夹下⽣成⼀个⽂件映射⽹络驱动器进⼊磁盘资源管理器窗⼝后,在⼯具栏下,找到并选择“映射⽹络驱动器”这⼀项,点击打开。

进⼊映射⽹络驱动器创建窗⼝,先给要映射的⽹络驱动器配置⼀个盘符,选择“驱动器”这⼀项,在右侧,点击下拉框的倒三⾓按钮。

Windows Api补充教案二

补充教案二1. 调试程序的方法一DWORD GetLastError(VOID)使用:DWORD dw;调用某一个函数;dw=GetLasstError();根据dw的值可以知道上一个函数是否调用成功,或者是出了什么错误。

2. 关于滚动条的函数①设置滚动范围BOOL SetScrollRange(HWND hWnd, // handle to window with scroll barint nBar, // scroll bar flagint nMinPos, // minimum scrolling positionint nMaxPos, // maximum scrolling positionBOOL bRedraw // redraw flag);②获得滚动块的当前位置int GetScrollPos(HWND hWnd, // handle to window with scroll barint nBar // scroll bar flags);③设定滚动块的位置int SetScrollPos(HWND hWnd, // handle to window with scroll barint nBar, // scroll bar flagint nPos, // new position of scroll boxBOOL bRedraw // redraw flag);3. 滚动条信息结构typedef struct tagSCROLLINFO { // siUINT cbSize;//结构体自身的大小UINT fMask; //操作标识int nMin; //滚动条范围最小值int nMax; //滚动条范围最大值UINT nPage; //页面大小int nPos; //滚动块位置int nTrackPos; //被拖动的滚动块位置} SCROLLINFO;typedef SCROLLINFO FAR *LPSCROLLINFOfMask的值可以取以下的值:SIF_ALL Combination of SIF_PAGE, SIF_POS,SIF_RANGE, and SIF_TRACKPOS.SIF_DISABLENOSCROLL This value is used only when setting ascroll bar's parameters. If the scroll bar'snew parameters make the scroll barunnecessary, disable the scroll bar insteadof removing it.SIF_PAGE The nPage member contains the pagesize for a proportional scroll bar.SIF_POS The nPos member contains the scroll boxposition, which is not updated while theuser drags the scroll box.SIF_RANGE The nMin and nMax members containthe minimum and maximum values forthe scrolling range.SIF_TRACKPOS The nTrackPos member contains thecurrent position of the scroll box whilethe user is4. 新滚动条函数①设置函数int SetScrollInfo(HWND hwnd, // handle to window with scroll barint fnBar, // scroll bar flagLPSCROLLINFO lpsi,// pointer to structure with scroll parametersBOOL fRedraw // redraw flag);其中fnBar的值可以取以下的值:SB_CTL Sets the parameters of a scroll bar control. The hwndparameter must be the handle to the scroll bar control.SB_HORZ Sets the parameters of the given window's standardhorizontal scroll bar.SB_VERT Sets the parameters of the given window's standardvertical scroll bar.②获得滚动条信息函数BOOL GetScrollInfo(HWND hwnd, // handle to window with scroll barint fnBar, // scroll bar flagLPSCROLLINFO lpsi // pointer to structure for scroll parameters );5. 改善滚动条①新的滚动条函数使用真正的32位参数,使得可以接收的滚动条变动范围扩大了。

WINCE屏幕绘图基础

第2章屏幕绘图概述在第1章,示例程序HelloCE完成一项工作:在屏幕上显示一行文字。

显示这行文字只需要调用一次DrawText即可,因为Windows CE代为处理了很多细节,例如字体、字体颜色、文本行在屏幕上的位置等等。

借助图形用户接口的力量,应用程序不只能在屏幕上输出本文行,还能做更多的事情。

应用程序可以绘制出非常精细的显示外观。

纵观微软Windows操作系统,用于绘制屏幕的函数数量发生了巨大的扩展。

Windows每个后续的版本里,都增加了许多函数以扩展程序员可以使用的工具集。

虽然新函数增加了,但旧函数依然被保留,这样即使有旧函数被新函数取代,旧程序依然可以继续运行在新版本的Windows 上。

这种函数不断堆积,旧函数被保留以向后兼容的策略,在最初的Windows CE版本里却被废弃了。

因为需要制作更小版本的Windows,CE团队苦览Win32 API,并只复制适合Windwos CE目标市场的应用程序绝对需要的API。

这种精简对Win32 API影响最大的领域之一就是图形函数。

到不是您会缺乏用于工作的函数,只是在Win32 API的冗余度方面,对图形函数做了教大的精简。

程序员面临的新挑战之一就是不同的Windows CE平台支持略微不同的API集合。

Windows CE图形功能与桌面系统不同之处,其中之一就是Windows CE不支持不同的映射模式,而这在其他Windows系统里是支持的。

Windows CE设备环境始终设置为MM_TEXT映射模式。

坐标转化在Windows CE下也不支持。

虽然这些特性在一些类型的应用中很有用,但在小型便携式设备的Windows CE环境里,这些需求并不突出。

所以当你阅读本章里使用的函数和技术时,请记住其中一些可能不能在所有平台上被支持。

通过GetDeviceCaps函数,程序可以判断系统支持什么函数。

GetDeviceCaps返回当前图形设备的实际能力。

Windows绘图


GetDc 函数 使用较为广泛
使用环境
使用 GetDC 函数获 取设备环境后,操作 操作区域 区域为整个用户区 释放设备环 由 ReleaseDC 函数释 由 EndPaint 函数释放 境所用函数 放
2015-2-27
《C++实践课》
12
1.4 映射模式
映射模式定义了将逻辑单位转化为设备的度 量单位以及设备的x方向和y方向 程序员可在一个统一的逻辑坐标系中操作而 不必考虑输出设备的坐标系 缺省的映像模式:MM_TEXT
设备描述表句柄(HDC)
应用程序不能直接访问设备描述表,但是可以使 用设备描述表句柄来间接地存取设备描述表及其 属性 显示器设备描述表,总是与某个窗口或这窗口上 的某个显示区域相关 Windows窗口一旦创建,它就自动地产生了与之 相对应的设备描述表数据结构,用户可运用该结 构,实现对窗口显示区域的GDI操作,如划线、 写文本、绘制位图、填充等,并且所有这些操作 均要通过设备描述表句柄来进行
《C++实践课》
8
1.3 获取设备描述表的方法
调用BeginPaint函数
应用程序响应WM_PAINT消息进行图形刷新时 ,主要通过调用BeginPaint函数获取设备描述表 句柄 其形式为: hdc=BeginPaint(hwnd,&ps); ps为PAINTSTRUCT类型结构,定义方式为: PAINTSTRUCT ps; 该函数获取设备描述表句柄的同时,填写ps结构, 以标识无效矩形区
2015-2-27 《C++实践课》 9
1.3 获取设备描述表的方法
窗口被另一个窗口覆盖的区域称为无效区域
Windows系统为每个窗口建立了一个 PAINTSTRUCT结构,该结构中包含了包围无效 区域的一个最小矩形的结构RECT,应用程序可 以根据这个无效矩形执行刷新操作。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Windows映射模式
MM_ANISOTROPIC
逻辑坐标系统与设备坐标系统的映射完全任意,逻辑窗口中的图象
绘制时可向任意方向拉伸或平移

MM_HIENGLISH
逻辑坐标系统中的每个单位元为0.001英寸,起点在设备左下角,
坐标值向右上方递增

MM_HIMETRIC
逻辑坐标系统中的每个单位元为0.01毫米,起点在设备左下角,
坐标值向右上方递增

MM_ISOTROPIC
逻辑坐标系统与设备坐标系统的映射完全任意,只有一点:
Windows保证垂直和水平方向每单元代表同样的物理长度。

MM_LOENGLISH
逻辑坐标系统中的每个单位元为0.01英寸,起点在设备左下角,
坐标值向右上方递增

MM_LOMETRIC
逻辑坐标系统中的每个单位元为0.1毫米,起点在设备左下角,坐
标值向右上方递增

MM_TEXT
这是设备场景的默认映射模式。逻辑坐标系统中的每个单位元代表
设备坐标系统的一个像素。起点在设备左下角,坐标值向右上方递增。
逻辑与设备坐标系统相同

MM_TWIPS
每个单元代表一“缇”(即1/1440英寸),起点在设备左下角,坐
标值向右上方递增

相关文档
最新文档