RSS Feed
  1. flash 与 asp

    八月 17, 2005 by bborn

    2 乱码

    flash接收asp返回值是乱码
    这个问题说简单也简单 就是加入一句 System.useCodepage=true;

    不过关于这个的说法,很多帖子文章没有细说,也有说错的
    这里引用一下帮助里的说法

    还有个郁闷的是,乱码就象是随机一样
    1 不加这一句 开始的时候中文显示正常,后来不行
    2 加了这一句 还是乱码 我还以为是asp程序的问题
    3 每次第一次点击是乱码 然后再点就可以了 郁闷

    System.useCodepage
    可用性
    Flash Player 6。

    用法
    System.useCodepage

    说明
    属性;一个布尔值,它通知 Flash Player 是使用 Unicode 来解释外部文本文件,还是使用运行播放器的操作系统的传统代码页来解释外部文本文件。system.useCodepage 的默认值为 false。

    当该属性设置为 false 时,Flash Player 按 Unicode 解释外部文本文件。(保存这些文件时,必须使用 Unicode 对其进行编码。)
    当该属性设置为 true 时,Flash Player 使用运行播放器的操作系统的传统代码页来解释外部文本文件。
    对于作为外部文件包含或加载的文本(使用 #include 命令,loadVariables() 或 getURL 动作,或 LoadVars 或 XML 对象),保存这些文本文件时必须使用 Unicode 对其进行编码,这样 Flash Player 才能将其识别为 Unicode。若要使用 Unicode 对外部文件进行编码,请在支持 Unicode 的应用程序(例如,Windows 2000 上的“记事本”)中保存这些文件。

    如果包含或加载了非 Unicode 编码的外部文本文件,则应将 system.useCodepage 设置为 true。在加载数据的 SWF 文件的第一帧中,在最前面添加以下代码(第一行代码):

    system.useCodepage = true;

    如果有这一行代码,Flash Player 将使用运行 Flash Player 的操作系统的传统代码页来解释外部文本。对于英文 Windows 操作系统,该代码页通常为 CP1252;对于日文操作系统,该代码页通常为 Shift-JIS。如果将 system.useCodepage 设置为 true,Flash Player 6 和更高版本处理文本的方式与 Flash Player 5 相同。(Flash Player 5 在处理文本时,将所有文本都视为按运行播放器的操作系统的传统代码页编码的文本。)

    如果将 system.useCodepage 设置为 true,应注意您的外部文本文件中使用的字符必须包含在运行播放器的操作系统的传统代码页中,这样才能显示该文本。例如,如果您加载了一个包含中文字符的外部文本文件,这些字符在使用 CP1252 代码页的系统上将无法显示,因为该代码页不包含中文字符。

    若要确保所有平台上的用户都能查看您的 SWF 文件中使用的外部文本文件,应使用 Unicode 对所有外部文本文件进行编码,并将 System.useCodepage 设置保留为其默认设置 false。这样,Flash Player 6 和更高版本将按 Unicode 解释文本。


  2. flash和asp等后台程序配合使用的问题

    八月 16, 2005 by bborn

    1 相对路径

    //构造一个新的LoadVars对象
    myload = new LoadVars();
    //设定myload的动作,以便服务器验证
    myload.action = “post”;
    ……
    myload.sendAndLoad(“blog/test.asp”, myload, “post”);
    //下面的不行
    //myload.sendAndLoad(“/blog/test.asp”, myload, “post”);
    }

    还有就是http://localhost/…我测试也没有通过,用http://127.0.0.1/… 就可以了
    麻烦了半天


  3. 你写我看

    八月 11, 2005 by bborn

    迷路的下午
    牧羊女阿珂 @ 2005-07-25 23:13
    http://ake.yculblog.com/post.782066.html


  4. 更改msn messenger个人消息程序的源码

    八月 10, 2005 by bborn

    很简单的一个用sdk写的c++程序

    这是头文件的部分 声明一下函数

    #include “resource.h”
    #include

    BOOL CALLBACK DlgProc(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam);
    void ChangeUserMsg(bool bshow, int x,const WCHAR* str);

    LRESULT CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);

    这是前面的一些必要的声明

    #define MSNMusicString L”\\0%s\\0%d\\0[%s]\\0″
    bool bshow = 0;
    HINSTANCE hInst;
    NOTIFYICONDATA IconData;
    int msna,msnb;
    #define WM_MYTRAY WM_USER+99

    主要的函数

    int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
    {

    hInst = hInstance;

    DialogBoxParam(hInst, (LPCSTR)IDD_DIALOG1, NULL, DlgProc, NULL);
    return 0;
    }

    BOOL CALLBACK DlgProc(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam)
    {
    HICON hIcon;
    HWND hact;
    WCHAR  temp[256];

    switch(iMsg)
    {
    case WM_INITDIALOG:
    hIcon = LoadIcon(hInst, (LPCSTR)IDI_ICON1);
    SendMessage(hwnd, WM_SETICON, (WPARAM)ICON_BIG, (LPARAM)hIcon);
    SendMessage(hwnd, WM_SETICON, (WPARAM)ICON_SMALL, (LPARAM)hIcon);
    CheckDlgButton(hwnd,IDC_RADIO1,BST_CHECKED);  msnb=1;
    CheckDlgButton(hwnd,IDC_RADIO4,BST_CHECKED);  msna=1;
    break;

    case WM_TIMER:
    if (wParam==1)
    {
    hact=GetForegroundWindow();
    GetWindowTextW (hact,temp,256);
    ChangeUserMsg(1,msnb,temp);
    }
    break;

    case WM_MYTRAY :
    if (lParam==WM_LBUTTONDOWN)
    {
    Shell_NotifyIcon(NIM_Delete, &IconData);
    ShowWindow(hwnd,1);
    }
    break;

    case WM_COMMAND:
    switch(LOWORD(wParam))
    {
    case IDOK:
    msna=IsDlgButtonChecked(hwnd,IDC_RADIO6);
    if(msna==1)
    {
    KillTimer(hwnd,1);
    ChangeUserMsg(0,0,0);
    }
    else
    {
    if(IsDlgButtonChecked(hwnd,IDC_RADIO1)==1)  msnb=1;
    if(IsDlgButtonChecked(hwnd,IDC_RADIO2)==1)  msnb=2;
    if(IsDlgButtonChecked(hwnd,IDC_RADIO3)==1)  msnb=3;
    SetTimer(hwnd,1,2000, 0);
    }
    IconData.cbSize = sizeof(NOTIFYICONDATA);
    IconData.hWnd  = hwnd;
    IconData.uID = 12;
    IconData.hIcon  = LoadIcon(hInst, MAKEINTRESOURCE(IDI_ICON1));
    IconData.uFlags = NIF_MESSAGE + NIF_ICON + NIF_TIP;
    IconData.uCallbackMessage = WM_MYTRAY;
    strcpy(IconData.szTip, “自定义Msn Messenger的个人消息”);
    Shell_NotifyIcon(NIM_ADD, &IconData);
    ShowWindow(hwnd,0);
    break;
    case IDCANCEL:
    KillTimer(hwnd,1);
    Shell_NotifyIcon(NIM_Delete, &IconData);
    ChangeUserMsg(0,0,0);
    EndDialog(hwnd, 0);
    break;
    case IDC_ABOUT:
    DialogBox(hInst, (LPCTSTR)IDD_ABOUTBOX, hwnd, (DLGPROC)About);
    break;

    default:
    return TRUE;
    }

    default:
    return FALSE;
    }
    }

    // Mesage handler for about box.
    LRESULT CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
    {
    switch (message)
    {
    case WM_INITDIALOG:
    return TRUE;

    case WM_COMMAND:
    if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
    {
    EndDialog(hDlg, LOWORD(wParam));
    return TRUE;
    }
    break;
    }
    return FALSE;
    }

    下面是主要功能的实现

    void ChangeUserMsg(bool bshow, int x, const WCHAR*  str)
    {
    COPYDATASTRUCT msndata;
    WCHAR buffer[500];
    WCHAR style[5];

    if(x==1)
    {wsprintfW(style,L”Office”);}
    else if (x==2)
    {wsprintfW(style,L”Music”);}
    else
    {wsprintfW(style,L”Games”);}

    //bool bshow = 1;

    wsprintfW(buffer, MSNMusicString,  style, bshow , str );

    HWND msnui = NULL;
    msndata.dwData = 0×547;
    msndata.lpData = &buffer;
    msndata.cbData = (lstrlenW(buffer)*2)+2;
    msnui = FindWindowEx(NULL, msnui, “MsnMsgrUIManager”, NULL);

    if (msnui!=0)
    {
    SendMessage(msnui, WM_COPYDATA, 0, (LPARAM)&msndata);
    }
    }

    主要的问题出在WCHAR这个类型上
    开始不知道怎么处理怎么传递怎么赋值怎么复制等
    还有一个就是托盘图标
    很简单的实现,但是在填充数据结构的时候
    IconData.hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_ICON1));
    把LoadIcon的第一个参数设为0了,图标怎么都显示不出来
    看别人的程序有这样写的,不知道是不是说错了
    找原因找了半天 还以为是自己做的图标的问题
    图标并不一定要是16×16的


  5. 小程序 更改msn messenger的个人消息为当前窗口的标题

    八月 3, 2005 by bborn

    msn messenger 有个小功能
    可以在个人消息处显示当前你正在听的音乐
    这有些类似QQ的个人签名

    前提是你打开这个功能并使用类似wmp或者支持此功能的播放器
    其实 msn messenger不仅可以显示音乐图标
    还可以显示办公或者游戏图标

    我这两天做了个小东西
    就是可以把这个个人消息更改为你当前窗口的标题

    这样 当你玩游戏的时候
    你的联系人就可以从你的消息知道你正在干吗
    你的朋友也可以看到你正在看什么网页或者忙着办公…

    绿色软件 下载就用
    点击下载此文件


  6. 很快被Google收录

    八月 2, 2005 by bborn

    今天一搜
    发现Google已经收录了Bborn.Cn这个域名
    不过不是第一个
    7月30就收录了
    还是比较快的
    不过因为主页是Flash页面的关系
    后面的就很少了
    这个应该想办法改改