我正在尝试使用AS3(空中)登录RDP.考虑到缺乏资源以了解实际过程,我做得很好.
我已经超过了初始发送用户名,收到了服务器的响应,我现在处于初始请求连接状态.
我发送所有数据,当嗅探流量时,我看到netmon正确识别我发送的是什么类型的数据包(t125).我没有被RDP断开连接并且他们发送了一个ack
数据包 - 但是我没有收到我期待的响应.
我一直在交叉引用connectoid
,这是一个开源的RDP客户端.在连接代码中,我被困在他们编写小端和大端整数混合的地方.
当我看到有限的例子(更像是数据包转储)时,我发现这个过程的连接长度是412,但我bytearray
更像是470.
我已经将connectoid
方法转换为我认为正确的方法,但是使用endian类型的混合方法,我仍然不确定.
我很抱歉,如果这是乱码,但我正尽力帮助你帮助我.我将附上一些代码,显示我在转换中尝试做的事情.
public function sendMcsData(): void {
trace("Secure.sendMcsData");
var num_channels: int = 2;
//RdpPacket_Localised dataBuffer = new RdpPacket_Localised(512);
var hostlen: int = 2 * "myhostaddress.ath.cx".length;
if (hostlen > 30) {
hostlen = 30;
}
var length: int = 158;
length += 76 + 12 + 4;
length += num_channels * 12 + 8;
dataBuffer.writeShort(5); /* unknown */
dataBuffer.writeShort(0x14);
dataBuffer.writeByte(0x7c); //set 8 is write …
Run Code Online (Sandbox Code Playgroud) 我在SQL中编写了一个数据库生成脚本,并希望在我的Adobe AIR应用程序中执行它:
Create Table tRole (
roleID integer Primary Key
,roleName varchar(40)
);
Create Table tFile (
fileID integer Primary Key
,fileName varchar(50)
,fileDescription varchar(500)
,thumbnailID integer
,fileFormatID integer
,categoryID integer
,isFavorite boolean
,dateAdded date
,globalAccessCount integer
,lastAccessTime date
,downloadComplete boolean
,isNew boolean
,isSpotlight boolean
,duration varchar(30)
);
Create Table tCategory (
categoryID integer Primary Key
,categoryName varchar(50)
,parent_categoryID integer
);
...
Run Code Online (Sandbox Code Playgroud)
我使用以下方法在Adobe AIR中执行此操作:
public static function RunSqlFromFile(fileName:String):void {
var file:File = File.applicationDirectory.resolvePath(fileName);
var stream:FileStream = …
Run Code Online (Sandbox Code Playgroud) 我创建了一个AIR应用程序,它有两个窗口.第一个是主窗口(spark Windowed Application),第二个是组件(spark窗口).我正在使用Java来使用Flex-Java Bridge Flerry捕获桌面屏幕.
以下是捕获屏幕的代码: -
HDC hdcWindow = User32.INSTANCE.GetDC(hWnd);
HDC hdcMemDC = GDI32.INSTANCE.CreateCompatibleDC(hdcWindow);
RECT bounds = new RECT();
User32Extra.INSTANCE.GetClientRect(hWnd, bounds);
int width = bounds.right;
int height = bounds.bottom ;
HBITMAP hBitmap = GDI32.INSTANCE.CreateCompatibleBitmap(hdcWindow, width, height);
HANDLE hOld = GDI32.INSTANCE.SelectObject(hdcMemDC, hBitmap);
GDI32Extra.INSTANCE.BitBlt(hdcMemDC, 0, 0, width, height, hdcWindow, 0, 0, WinGDIExtra.SRCCOPY);
Run Code Online (Sandbox Code Playgroud)
我不希望捕获主要的flex窗口.它应该被跳过(透明)被捕获.
这可以通过改变flex项目的配置来实现吗?
如果无法在flex和java中完成,可以在什么平台上完成?
我想按下Adobe AIR应用程序中的按钮并执行一些已安装的程序.例如,我会有一个名为"Start Winamp"的按钮.当它被按下它应该直接启动Winamp.exe ...我不希望执行一些命令行的事情,我只想要一个exe启动.或者......是一回事吗?如果可能,请告诉我.
谢谢.
我正在尝试从Adobe AIR应用程序中请求需要基本授权标头的HTTP资源.我尝试手动将标头添加到请求中,以及使用setRemoteCredentials()方法设置它们,但无济于事.
这是代码:
<mx:Script>
<![CDATA[
import mx.rpc.events.ResultEvent;
import mx.rpc.events.FaultEvent;
private function authAndSend(service:HTTPService):void
{
service.setRemoteCredentials('someusername', 'somepassword');
service.send();
}
private function resultHandler(event:ResultEvent):void
{
apiResult.text = event.result.toString();
}
private function resultFailed(event:FaultEvent):void
{
apiResult.text = event.fault.toString();
}
]]>
</mx:Script>
<mx:HTTPService id="apiService"
url="https://mywebservice.com/someFileThatRequiresBasicAuth.xml"
resultFormat="text"
result="resultHandler(event)"
fault="resultFailed(event)" />
<mx:Button id="apiButton"
label="Test API Command"
click="authAndSend(apiService)" />
<mx:TextArea id="apiResult" />
Run Code Online (Sandbox Code Playgroud)
但是,仍然会弹出标准的基本身份验证对话框,提示用户输入用户名和密码.我有一种感觉,我没有以正确的方式做到这一点,但我能找到的所有信息(Flex文档,博客,谷歌等)要么没有用,要么太模糊无法提供帮助.
任何黑魔法,哦Flex大师?谢谢.
编辑:将setRemoteCredentials()更改为setCredentials()会产生以下ActionScript错误:
[MessagingError message='Authentication not supported on DirectHTTPChannel (no proxy).']
Run Code Online (Sandbox Code Playgroud)
编辑:经过Adobe的一些关注后,问题解决了.有关完整说明,请参阅下面的帖子.此代码适用于任意长度的HTTP身份验证标头.
import mx.utils.Base64Encoder;
private function authAndSend(service:HTTPService):void
{
var encoder:Base64Encoder = new Base64Encoder();
encoder.insertNewLines = false; …
Run Code Online (Sandbox Code Playgroud) 我通过Air for Android用Adobe Flash创建了一个.apk应用程序.现在我想用Blackberry在线打包器为Blackberry App World做好准备:https://bdsc.webapps.blackberry.com/android/bpaa/apk-compatibility-check
我在哪里可以找到Windows PC上的Android SDK文件夹?它是否与Adobe Flash Pro安装捆绑在一起?
我需要开发一个简单的Windows系统托盘桌面应用程序来使用.NET Web服务,但我精通PHP,而且我在桌面应用程序方面几乎没有背景.您建议我使用什么平台,最好是学习曲线非常低?
系统托盘应用程序将显示(在上下文菜单中)从.NET Web服务收到的新事件通知的计数器; 并且还会将所有事件日志写入文本文件.
我已经在考虑使用Adobe AIR或C#.NET,但我想知道是否有更好的选项,我可以快速学习开发应用程序.
我想在HTC Nexus One手机上使用Flash Professional CS5和Adobe AIR 2.5在Android上开发增强现实应用程序.
我发现了几个在线资源,展示了如何使用网络摄像头和Flash开发AR应用程序,我发现跟踪和理解AR的基础非常有用.
例如:
使用网络摄像头和Flash的增强现实
http://www.adobe.com/devnet/flash/articles/augmented_reality.html
我还从gotoandlearn网站上观看了有关AIR for Android Applications的其他视频,我做了所有成功,例如:
但是,我没有设法让它在我的Android手机上运行(什么也不做,运行速度很慢).
我想就以下问题提几点问题:
1)要在android上开发增强现实应用程序,是否使用与上面相同的方法完成?
2)我是否需要使用除视频和adobe air 2.5上显示的软件之外的任何其他软件?
3)您是否知道任何其他相关的资料/阅读材料并可能有所帮助?
谢谢
有人可以向我解释Adobe Air,Flex和Flash Builder之间的区别吗?
我去了Adobe网站,它说使用Air我可以为桌面或移动设备构建独立的应用程序.他们对Flex说了同样的话.
它说Flash Builider是一个基于Eclipse的开发工具.那是什么意思?然后它说我可以再次为桌面和移动设备构建应用程序.
有很多重叠,我真的不明白首先要学习什么以及采取什么方向.(我非常了解Flash和AS2和AS3.)
air ×10
apache-flex ×6
android ×2
.net ×1
adobe ×1
c# ×1
command ×1
flash ×1
flash-cs5 ×1
httpservice ×1
java ×1
jna ×1
rdp ×1
sdk ×1
system-tray ×1
vnc ×1
web-services ×1
winapi ×1