ISHELL_Browse

BREW2.1、BREW3.1 でネイティブブラウザを起動する方法。

#if defined( BREW31 )

// BREW3.1 用の Browser
class Browser{
public:
    int Browse( const char* url ){
        STRCPY( &_url[ 0 ] , "ez2urlto:" );
        STRCAT( &_url[ 0 ] , url );
        return ISHELL_BrowseURL( (const char*)&_url[ 0 ] );
    }
private:
    char              _url[ 1024 ];
};

#else

// BREW2.1 用の Browser
class Browser{
public:
    int Browse( const char* url ){
        _shimBrowserInfo.cbSize  = sizeof( ShimBrowserInfo );
        _shimBrowserInfo.clsid   = GetClassId(); // 自分のアプレットの ID を取得
        _shimBrowserInfo.ret_evt = EVT_APP_RESUME;
        
        STRCPY( _shimBrowserInfo.url , url );
        SPRINTF( &_url[ 0 ] , "ezurlto:0x%x" , &_shimBrowserInfo );
        return ISHELL_BrowseURL( (const char*)&_url[ 0 ] );
    }
private:
    char                _url[ 20 ];
    ShimBrowserInfo     _shimBrowserInfo;
};

#endif

これで両方とも動くハズ。