xp远程桌面如何重启电脑?

06月 12th, 2008 by sumnny

我通过远程桌面连接到另外一台做服务器的机器上。有时想重启电脑,但是发现开始菜单中无重启和关机的选项,只有注销和断开的选项?那如何重启电脑呢?
有两种方法:
1、在工具条上点鼠标右键,弹出菜单里选择【任务管理器】,接下来点菜单中的“关机”,你会发现在这个选项中有“重新启动”和“关闭”选项,对应的是将系统重启和关闭远程计算机。我们可以根据需要进行操作即可。
2、也可以使用DOS命令来重启机器或关机,通过XP系统自带的shutdown来完成即可。shutdown.exe是XP系统自带的管理重启注销关闭计算机的小工具。shutdown -l是注销,shutdown -r是重启。

flvplayback视频

03月 28th, 2008 by sumnny

最近跟flash视频干上了。

先是有个三分屏的项目,原先使用串流大师做出来的东西觉得太老土,所以我们想做一个改进,全部flash话:)遇到的一个问题就是视频如何处理。

原来主要是javascript来控制wmv的播放及同步。但flash不支持wmv格式。为此不得不把视频切割后转成flv格式的。然后再结合已有的框架功能做到可以拖动,跳转。

还有个项目使用了大量的视频。开始是想用flvplayback来做的,但是发觉网上用的最多的contentPath不能实现视频的跳转,不知道是我的方法的问题还是怎么。后来用NetConnection+NetStream临时做了个demo给客户。今天正式做的时候还是用flvplayback来实现了,不知道哪天怎么搞的。

在这发现了个可以提高flv视频质量的方法:

MovieClip(FLVPlayer.getVideoPlayer(FLVPlayer.activ eVideoPlayerIndex))._video.smoothing = true;

FLVPlayer是flvplayback的id。

——————————————————

觉得flash设计的好完全可以做到以前direct达到的效果。

最近有个光盘项目,需要实现查询功能。而flash是不支持数据库的,指的是在光盘上直接运行,客户的要求。所以不可能使用C/S架构来做。最后还是使用flash+xml实现了查询功能。

flv 判断播放完毕

03月 4th, 2008 by sumnny
ActionScript Code:
var listenerObject:Object = new Object; listenerObject.complete = function(eventObject:Object):Void {     // 在此插入事件处理代码 }; my_FLVplybk.addEventListener("complete", listenerObject);//舞台上的 FLVPlayback 组件具有实例名称 my_FLVPlybk

搜到这篇文章《一个AS菜鸟大战一个AS菜鸟问题的全过程》解决的,看得我笑死了,其实比他好不到哪里去,幸好还有GG。还好最近在看flash的帮助,否则连解答也看不懂了。

FLVPlayback 外观 SWF 必须位于与 HTML 文件相同的目录中

03月 4th, 2008 by sumnny

flash中需要loadmovie一段带flv视频的swf文件,但是问题是单独看带flv的swf是好的,一loadmovie之后就不出来。
心想不会是loadmovie跟flv有冲突吧。
去google loadmovie+FLVPlayback就发现了这篇文章,FLVPlayback 外观 SWF 必须位于与 HTML 文件相同的目录中,原因在 Flash 8 中, 通常将 FLVPlayback 组件的外观 SWF 放在与包含该组件的 SWF 相同的服务器目录中(或该目录的子目录中)。

但是, 在加载 情况中, FLVPlayback 组件的外观 SWF 的位置必须相对于服务器上包含父 SWF 的 HTML 加载 文件, 而不是 相对于被加载的 SWF 的位置。否则, FLVPlayback 组件无法显示。

但是把FLVPlayback 组件的外观 SWF 文件放到根目录下也还是不能正常播放啊。
最后才发现原来是FLVPlayback组件的路径问题。调用flv的不是被loadmovie的swf,而是loadmovie的swf。
晕。

Assigning code to buttons made with duplicateMovieClip

02月 21st, 2008 by sumnny
ActionScript Code:
var thisHex:MovieClip = myMc.duplicateMovieClip(“hex”+nr, nr); thisHex._x += 50; thisHex.onRelease = function() {     //Whatever }; //Or loop through after thier creation: for (i=0; i<nr; i++) {     this[“hex”+i].onRelease = function() {         //Whatever     }; }

http://www.actionscript.org/forums/showthread.php3?t=158856
http://www.adobekit.com.cn/forum/showtopic-109.aspx这篇文章很多错误,误导人!
幸亏找到了这一篇http://bbs.huoren.cn/viewthread.php?tid=3018
又是同样的教训,button和movieclip的事件是不同的!!!

提高

02月 21st, 2008 by sumnny

自己属于那种需要人在后面拿着鞭子赶的老牛啊!
show show刚做的一个网站,自认为是自己做的最复杂的asp程序了,设计是朋友做的
http://www.hutchin.com/index.asp
里面的动态目录差点没把自己做死!!!

最近在做一个flash查询的项目,在网上似乎找不到查询方面的文章,难道没有用flash做查询么?就因为所以的数据库的工作都要自己来做?*^-^*

vb获得本地和远程的MAC地址 (网卡地址)

01月 10th, 2008 by sumnny

‘原创: CSDN 许仙; qq:19030300 主页:http://hot1kang1.126.com
‘转载请保持信息的完整性 谢谢

‘参考网络代码完成, 获取机器的MAC 网卡地址
‘VB获取机器的硬盘物理地址和硬盘型号 http://blog.csdn.net/hot1kang1/archive/2006/03/27/639735.aspx
‘—————-
‘GetMyMAC 获得本机器网卡 MAC地址 若无IP 返回空字符
‘ Print GetMyMAC

‘GetRemoteMACAddress IP,strval 获取对应机器的网卡 MAC地址
‘dim i
‘GetRemoteMACAddress “192.168.0.1″,i
‘Print i

‘GetIPAddress  返回给定机器名的Ip地址,机器名为空时返回本机Ip地址
‘ GetIPAddress 机器名
‘—————-
Option Explicit

Private Declare Function gethostname _
               Lib “wsock32.dll” (ByVal szHost As String, _
                                  ByVal dwHostLen As Long) As Long
Private Declare Function gethostbyname _
               Lib “wsock32.dll” (ByVal szHost As String) As Long
Private Declare Function WSAStartup _
               Lib “wsock32.dll” (ByVal wVersionRequired As Long, _
                                  lpWSADATA As WSADATA) As Long
Private Declare Function WSAGetLastError _
               Lib “wsock32.dll” () As Long
Private Declare Function WSACleanup _
               Lib “wsock32.dll” () As Long
              
Private Declare Sub CopyMemory _
               Lib “kernel32″ _
               Alias “RtlMoveMemory” (hpvDest As Any, _
                                      ByVal hpvSource As Long, _
                                      ByVal cbCopy As Long)
‘  Socket错误常数和版本常数
Private Const SOCKET_ERROR As Long = -1
Private Const MAX_WSADescription = 256
Private Const MAX_WSASYSStatus = 128
Private Const ERROR_SUCCESS As Long = 0
Private Const WS_VERSION_REQD As Long = &H101
Private Const MIN_SOCKETS_REQD As Long = 1
Private Const WS_VERSION_MAJOR As Long = WS_VERSION_REQD \ &H100 And &HFF&
Private Const WS_VERSION_MINOR As Long = WS_VERSION_REQD And &HFF&

‘  存放主机信息的结构
Private Type HOSTENT
    hName As Long    ‘  主机的正式名称
    hAliases As Long  ‘  主机别名列表
    hAddrType As Integer    ‘  主机地址类型
    hLen As Integer    ‘  主机地址长度
    hAddrList As Long   ‘  主机IP地址列表
End Type

‘  存放Winsock版本等信息的结构
Private Type WSADATA
    wVersion As Integer
    wHighVersion As Integer
    szDescription(0 To MAX_WSADescription) As Byte
    szSystemStatus(0 To MAX_WSASYSStatus) As Byte
    wMaxSockets As Integer
    wMaxUDPDG As Integer
    dwVendorInfo As Long
End Type

‘———————————
‘MAC使用的API
Private Const NO_ERROR = 0
Private Declare Function inet_addr _
                Lib “wsock32.dll” (ByVal s As String) As Long
Private Declare Function SendARP _
                Lib “iphlpapi.dll” (ByVal DestIP As Long, _
                                    ByVal SrcIP As Long, _
                                    pMacAddr As Long, _
                                    PhyAddrLen As Long) As Long

Private Declare Sub CopyMemory1 _
                Lib “kernel32″ _
                Alias “RtlMoveMemory” (dst As Any, _
                                       src As Any, _
                                       ByVal bcount As Long)

‘———————————

Public Function GetMyMAC() As String
    Dim sMyIP$, sMyMAC$
    sMyIP$ = GetIPAddress
    If sMyIP = “” Then Exit Function
    GetRemoteMACAddress sMyIP$, sMyMAC$
    GetMyMAC = sMyMAC$
End Function

Private Function GetRemoteMACAddress(ByVal sRemoteIP As String, _
                                     sRemoteMacAddress As String) As Boolean
    Dim dwRemoteIP   As Long
    Dim pMacAddr   As Long
    Dim bpMacAddr()   As Byte
    Dim PhyAddrLen   As Long
    Dim cnt   As Long
    Dim tmp   As String
    ‘convert  the  string  IP  into
    ‘an  unsigned  long  value  containing
    ‘a  suitable  binary  representation
    ‘of  the  Internet  address  given
    dwRemoteIP = inet_addr(sRemoteIP)
    If dwRemoteIP <> 0 Then
        ’set  PhyAddrLen  to  6
        PhyAddrLen = 6
        ‘retrieve  the  remote  MAC  address
        If SendARP(dwRemoteIP, 0&, pMacAddr, PhyAddrLen) = NO_ERROR Then
            If pMacAddr <> 0 And PhyAddrLen <> 0 Then
                ‘returned  value  is  a  long  pointer
                ‘to  the  mac  address,  so  copy  data
                ‘to  a  byte  array
                ReDim bpMacAddr(0 To PhyAddrLen - 1)
                CopyMemory1 bpMacAddr(0), pMacAddr, ByVal PhyAddrLen
                ‘loop  through  array  to  build  string
                For cnt = 0 To PhyAddrLen - 1
                    If bpMacAddr(cnt) = 0 Then
                        tmp = tmp & “00-”
                    Else
                        tmp = tmp & Hex$(bpMacAddr(cnt)) & “-”
                    End If
                Next
                ‘remove  the  trailing  dash
                ‘added  above  and  return  True
                If Len(tmp) > 0 Then
                    sRemoteMacAddress = Left$(tmp, Len(tmp) - 1)
                    GetRemoteMACAddress = True

                End If
                Exit Function
            Else
                GetRemoteMACAddress = False
            End If
        Else
            GetRemoteMACAddress = False
        End If     ‘SendARP

    Else
        GetRemoteMACAddress = False
    End If     ‘dwRemoteIP
End Function

‘——————————
‘  返回给定机器名的Ip地址,机器名为空时返回本机Ip地址
Public Function GetIPAddress(Optional sHost As String) As String
    Dim sHostName As String * 256
    Dim lpHost As Long
    Dim HOST As HOSTENT
    Dim dwIPAddr As Long
    Dim tmpIPAddr() As Byte
    Dim i As Integer
    Dim sIPAddr As String
    Dim werr As Long

    ‘  如果无法初始化Socket则退出函数
    If Not SocketsInitialize() Then
        GetIPAddress = “”
        Exit Function
    End If

    ‘  如果未指定主机名称,则取得本地主机名称并获取其IP
    If sHost = “” Then
        If gethostname(sHostName, 256) = SOCKET_ERROR Then
            werr = WSAGetLastError()
            GetIPAddress = “”
            SocketsCleanup
            Exit Function
        End If

        sHostName = Trim$(sHostName)
    Else
        sHostName = Trim$(sHost) & Chr$(0)
    End If

    ‘  获得指向主机信息结构的指针
    lpHost = gethostbyname(sHostName)

    ‘  如果指针为零,则错误退出
    If lpHost = 0 Then
        werr = WSAGetLastError()
        GetIPAddress = “”
        SocketsCleanup
        Exit Function
    End If

    ‘  从指定内存取得数据
    CopyMemory HOST, lpHost, Len(HOST)
    CopyMemory dwIPAddr, HOST.hAddrList, 4

    ‘  重新动态分配变量内存
    ReDim tmpIPAddr(1 To HOST.hLen)
    ‘  将主机地址存储到tmpIPAddr中
    CopyMemory tmpIPAddr(1), dwIPAddr, HOST.hLen

    ‘  获得最终的主机IP地址字符串
    For i = 1 To HOST.hLen
        sIPAddr = sIPAddr & tmpIPAddr(i) & “.”
    Next

    ‘  返回
    GetIPAddress = Mid$(sIPAddr, 1, Len(sIPAddr) - 1)

    ‘ 释放Socket库所占用的系统资源
    SocketsCleanup

End Function

‘  初始化Socket
Public Function SocketsInitialize(Optional sErr As String) As Boolean
    Dim WSAD As WSADATA
    Dim sLoByte As String
    Dim sHiByte As String

    ‘  初始化Winsock DLL,并判断版本是否满足要求
    If WSAStartup(WS_VERSION_REQD, WSAD) <> ERROR_SUCCESS Then
        sErr = “The 32-bit Windows Socket is not responding.”
        SocketsInitialize = False
        Exit Function
    End If

    ‘  判断是否有支持足够的Socket
    If WSAD.wMaxSockets < MIN_SOCKETS_REQD Then
        sErr = "This application requires a minimum of " & CStr(MIN_SOCKETS_REQD) & " supported sockets."
        SocketsInitialize = False
        Exit Function
    End If

    '  判断Winsock的版本是否被32为Winsock支持
    If LoByte(WSAD.wVersion) < WS_VERSION_MAJOR Or (LoByte(WSAD.wVersion) = WS_VERSION_MAJOR And HiByte(WSAD.wVersion) < WS_VERSION_MINOR) Then

        sHiByte = CStr(HiByte(WSAD.wVersion))
        sLoByte = CStr(LoByte(WSAD.wVersion))

        sErr = "Sockets version " & sLoByte & "." & sHiByte & " is not supported by 32-bit Windows Sockets."

        SocketsInitialize = False
        Exit Function
    End If

    SocketsInitialize = True
End Function

' 释放Socket库所占用的系统资源
Public Sub SocketsCleanup()
    If WSACleanup() <> ERROR_SUCCESS Then

    End If
End Sub

‘  获得一个整数的高字节位
Public Function HiByte(ByVal wParam As Integer)
    HiByte = wParam \ &H1 And &HFF&
End Function

‘  获得一个整数的低字节位
Public Function LoByte(ByVal wParam As Integer)
    LoByte = wParam And &HFF&
End Function

flash如何调用mpg

12月 29th, 2007 by sumnny

最近做项目的时候遇到一个问题,客户有很多mpg的视频需要展示。如何处理呢?

在网上搜了一下,发现虽然有不同的方法可以直接调用mpg,但是总感觉不是最佳方法。

大多数人所以不用flv,一可能是服务器支持的问题,二则可能是画面质量的问题。

现在我所做的项目客户并不要求能在网络上播放,只是在光盘演示用或者在电脑上直接看,所以不用考虑flv的支持问题。

对于flv质量问题,我是在flash8直接导入mpg视频后转换成flv的,修改转换设置,经过几次摸索,发现视频编码使用On2 VP6,关键帧间隔设为2,最大数据速率设为2000Kb/秒,如此转换出来的flv大小只比原来mpg的视频大3M,但是质量损失很小,同事对比后甚至说比原来的画面看着还好。

从中还发现一个有趣的问题,当设定了关键帧间隔的时候,更改最大数据速率对输出结果的影响很小,也就是说关键帧更大决定了输出视频的大小。

attachMovie的结果不同

12月 5th, 2007 by sumnny

在flash里随便花个矩形,转化成mc和按钮,在属性里分别设标识符为“bt1”“mc2”

在第一帧加入下面代码:

_root.createEmptyMovieClip(”test”, 1);
test.attachMovie(”bt”, “bt1″, 2, {_x:20, _y:20});
test.attachMovie(”mc”, “mc2″, 3, {_x:20, _y:20});
trace(test.bt1._x);
trace(test.mc2._x);

位置竟然不一样!

attachMovie不能加在按钮么?

moodle日志中的统计图无法显示中文

11月 27th, 2007 by sumnny

这个问题不知道如何从网上查找帮助,试过的几次查找都没有结果,也许中文使用者还没有发现这个问题,或者发现了但没有重视。
问 题是这样的moodle?中可以查看每一位用户的上站记录,并有一个上站情况的统计图,这应该是用gb生成的,所有的中文字都成为方框。这个问题与 dotproject中的情况应该是一样的。dotproject因为牵涉到一个关键的应用:甘特图,所以关心的人就多,而moodle中可能只 有教师或管理人员才会对注册用户的使用情况感兴趣,或者有权限查看,所以这个问题被忽略了。
这个问题已经得到了修复:
右击有问题的图,在右键菜单上点“属性”,得ttp://xueroom.shumtv.cn/~moodle/course/report/log/graph.php?id=4&user=3&type=userday.png&date=0
这是生成图片所用到的文件与参数。阅读graph.php知道有一个graphlib.php,找到这个文件,查阅其中的graph类的定义,所用的字体文件在相关语言中的fonts目录中,以default.ttf命名。在lang/zh_cn_utf8/有一个readme文件,其中就说了这个问题。将相关的中文字体文件用ln -s方式建立一个链接。图片中的中文就可以正常显示了。

转自学而斋